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.
|
This is a critical specialization for mapping string and integers to component types at runtime. The enum_string()
function is the enum id as a string. The id()
function is (typically) the name of the C++ component as a string. The ids()
function returns a set of strings which are alternative string identifiers to the enum string or the string ID. Additionally, it provides serializaiton of these values.
More...
#include "timemory/components/properties.hpp"
Public Types | |
using | type = Tp |
using | value_type = TIMEMORY_COMPONENT |
Public Member Functions | |
template<typename Archive > | |
void | serialize (Archive &, const unsigned int) |
TIMEMORY_COMPONENT | operator() () |
constexpr | operator TIMEMORY_COMPONENT () const |
Static Public Member Functions | |
static constexpr bool | specialized () |
static constexpr const char * | enum_string () |
static constexpr const char * | id () |
static idset_t | ids () |
Static Public Attributes | |
static constexpr TIMEMORY_COMPONENT | value = TIMEMORY_COMPONENTS_END |
This is a critical specialization for mapping string and integers to component types at runtime. The enum_string()
function is the enum id as a string. The id()
function is (typically) the name of the C++ component as a string. The ids()
function returns a set of strings which are alternative string identifiers to the enum string or the string ID. Additionally, it provides serializaiton of these values.
Tp | Component type |
A macro is provides to simplify this specialization:
In the above, the first parameter is the C++ type, the second is the enumeration id, the enum string is automatically generated via preprocessor #
on the second parameter, the third parameter is the string ID, and the remaining values are placed in the ids()
. Additionally, this macro specializes the tim::component::enumerator.
Definition at line 213 of file properties.hpp.
using tim::component::properties< Tp >::type = Tp |
Definition at line 215 of file properties.hpp.
using tim::component::properties< Tp >::value_type = TIMEMORY_COMPONENT |
Definition at line 216 of file properties.hpp.
|
inlinestaticconstexpr |
Definition at line 220 of file properties.hpp.
|
inlinestaticconstexpr |
Definition at line 221 of file properties.hpp.
Referenced by tim::runtime::do_enumerator_enumerate(), and tim::component::papi_rate_tuple< RateT, EventTypes >::label().
|
inlinestatic |
Definition at line 222 of file properties.hpp.
|
inlineconstexpr |
|
inline |
|
inline |
Definition at line 224 of file properties.hpp.
|
inlinestaticconstexpr |
Definition at line 219 of file properties.hpp.
|
staticconstexpr |
Definition at line 217 of file properties.hpp.