timemory 3.3.0
Modular C++ Toolkit for Performance Analysis and Logging. Profiling API and Tools for C, C++, CUDA, Fortran, and Python. The C++ template API is essentially a framework to creating tools: it is designed to provide a unifying interface for recording various performance measurements alongside data logging and interfaces to other tools.
macros.hpp File Reference
+ Include dependency graph for macros.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define TIMEMORY_DECLARE_NS_API(NS, NAME)
 \macro TIMEMORY_DECLARE_NS_API(NS, NAME) More...
 
#define TIMEMORY_DECLARE_API(NAME)   TIMEMORY_DECLARE_NS_API(api, NAME)
 
#define TIMEMORY_DEFINE_NS_API(NS, NAME)
 \macro TIMEMORY_DEFINE_NS_API(NS, NAME) More...
 
#define TIMEMORY_DEFINE_API(NAME)   TIMEMORY_DEFINE_NS_API(api, NAME)
 \macro TIMEMORY_DEFINE_API More...
 

Macro Definition Documentation

◆ TIMEMORY_DECLARE_API

#define TIMEMORY_DECLARE_API (   NAME)    TIMEMORY_DECLARE_NS_API(api, NAME)

Definition at line 45 of file macros.hpp.

◆ TIMEMORY_DECLARE_NS_API

#define TIMEMORY_DECLARE_NS_API (   NS,
  NAME 
)
Value:
namespace tim \
{ \
namespace NS \
{ \
struct NAME; \
} \
}
Definition: kokkosp.cpp:39

\macro TIMEMORY_DECLARE_NS_API(NS, NAME)

Declare an API category. APIs are used to designate different project implementations, different external library tools, etc.

Definition at line 34 of file macros.hpp.

◆ TIMEMORY_DEFINE_API

#define TIMEMORY_DEFINE_API (   NAME)    TIMEMORY_DEFINE_NS_API(api, NAME)

\macro TIMEMORY_DEFINE_API

Define an API category. APIs are used to designate different project implementations, different external library tools, etc. Note: this macro inherits from concepts::api instead of specializing is_api<...>, thus allowing specialization from tools downstream

Definition at line 75 of file macros.hpp.

◆ TIMEMORY_DEFINE_NS_API

#define TIMEMORY_DEFINE_NS_API (   NS,
  NAME 
)
Value:
namespace tim \
{ \
namespace NS \
{ \
struct NAME : public concepts::api \
{}; \
} \
}

\macro TIMEMORY_DEFINE_NS_API(NS, NAME)

Parameters
NSsub-namespace within tim::
NAMEthe name of the API

Define an API category within a namespace

Definition at line 56 of file macros.hpp.