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.
properties.hpp File Reference
#include "timemory/backends/process.hpp"
#include "timemory/backends/threading.hpp"
#include "timemory/enum.h"
#include "timemory/environment/types.hpp"
#include "timemory/macros/language.hpp"
#include "timemory/mpl/concepts.hpp"
#include <cstdio>
#include <cstring>
#include <regex>
#include <set>
#include <string>
+ Include dependency graph for properties.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tim::component::state< Tp >
 
struct  tim::component::static_properties< void, false >
 
struct  tim::component::static_properties< Tp, false >
 
struct  tim::component::static_properties< Tp, true >
 
struct  tim::component::properties< Tp >
 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...
 
struct  tim::component::enumerator< Idx >
 This is a critical specialization for mapping string and integers to component types at runtime (should always be specialized alongside tim::component::properties) and it is also critical for performing template metaprogramming "loops" over all the components. E.g.: More...
 

Namespaces

namespace  tim
 
namespace  tim::component
 
namespace  tim::component::factory
 

Typedefs

using tim::component::idset_t = std::set< std::string >
 
template<int Idx>
using tim::component::enumerator_t = typename enumerator< Idx >::type
 
template<int Idx>
using tim::component::properties_t = typename enumerator< Idx >::type
 

Functions

template<typename Toolset , typename Arg , typename... Args>
opaque tim::component::factory::get_opaque (Arg &&arg, Args &&... args)
 
template<typename Toolset >
opaque tim::component::factory::get_opaque ()
 
template<typename Toolset >
std::set< size_t > tim::component::factory::get_typeids ()