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.
tim::component::metadata< Tp > Struct Template Reference

Provides forward declaration support for assigning static metadata properties. This is most useful for specialization of template components. If this class is specialized for component, then the component does not need to provide the static member functions label() and description(). More...

#include "timemory/components/metadata.hpp"

+ Collaboration diagram for tim::component::metadata< Tp >:

Public Types

using type = Tp
 
using value_type = TIMEMORY_COMPONENT
 

Static Public Member Functions

static std::string name ()
 
static std::string label ()
 
static std::string description ()
 
static std::string extra_description ()
 
static constexpr bool specialized ()
 

Static Public Attributes

static constexpr TIMEMORY_COMPONENT value = TIMEMORY_COMPONENTS_END
 

Detailed Description

template<typename Tp>
struct tim::component::metadata< Tp >

Provides forward declaration support for assigning static metadata properties. This is most useful for specialization of template components. If this class is specialized for component, then the component does not need to provide the static member functions label() and description().

Definition at line 43 of file metadata.hpp.

Member Typedef Documentation

◆ type

template<typename Tp >
using tim::component::metadata< Tp >::type = Tp

Definition at line 45 of file metadata.hpp.

◆ value_type

Definition at line 46 of file metadata.hpp.

Member Function Documentation

◆ description()

template<typename Tp >
std::string tim::component::metadata< Tp >::description
static

Definition at line 77 of file metadata.hpp.

78{
79 return try_demangle<Tp>();
80}

Referenced by tim::component::data_tracker< InpT, Tag >::description().

◆ extra_description()

template<typename Tp >
static std::string tim::component::metadata< Tp >::extra_description ( )
inlinestatic

Definition at line 51 of file metadata.hpp.

51{ return ""; }

Referenced by tim::component::data_tracker< InpT, Tag >::description().

◆ label()

template<typename Tp >
std::string tim::component::metadata< Tp >::label
static

Definition at line 68 of file metadata.hpp.

69{
70 return try_demangle<Tp>();
71}

◆ name()

template<typename Tp >
std::string tim::component::metadata< Tp >::name
static

Definition at line 59 of file metadata.hpp.

60{
61 return try_demangle<Tp>();
62}

◆ specialized()

template<typename Tp >
static constexpr bool tim::component::metadata< Tp >::specialized ( )
inlinestaticconstexpr

Definition at line 52 of file metadata.hpp.

52{ return false; }

Member Data Documentation

◆ value

template<typename Tp >
constexpr TIMEMORY_COMPONENT tim::component::metadata< Tp >::value = TIMEMORY_COMPONENTS_END
staticconstexpr

Definition at line 47 of file metadata.hpp.


The documentation for this struct was generated from the following file: