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/components.hpp"
#include "timemory/components/opaque/declaration.hpp"
#include "timemory/components/placeholder.hpp"
#include "timemory/components/properties.hpp"
#include "timemory/components/types.hpp"
#include "timemory/enum.h"
#include "timemory/runtime/macros.hpp"
#include "timemory/settings/settings.hpp"
#include "timemory/variadic/definition.hpp"
#include <set>
#include <string>
#include <type_traits>
#include <unordered_map>
+ 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.

Namespaces

namespace  tim
 
namespace  tim::runtime
 

Typedefs

template<int I>
using tim::runtime::make_int_sequence = std::make_integer_sequence< int, I >
 
template<int... Ints>
using tim::runtime::int_sequence = std::integer_sequence< int, Ints... >
 
using tim::runtime::component_match_set_t = std::set< std::string >
 
using tim::runtime::component_match_vector_t = std::vector< bool(*)(const char *)>
 
using tim::runtime::component_match_index_t = std::vector< TIMEMORY_COMPONENT >
 
using tim::runtime::opaque_pair_t = std::pair< component::opaque, std::set< size_t > >
 

Functions

template<int I, int V, typename... Args>
enable_if_t< component::enumerator< I >::value &&I !=V, void > tim::runtime::do_enumerator_generate (std::vector< opaque_pair_t > &opaque_array, int idx, Args &&... args)
 
template<int I, int V, typename... Args>
enable_if_t<!component::enumerator< I >::value||I==V, void > tim::runtime::do_enumerator_generate (std::vector< opaque_pair_t > &, int, Args &&...)
 
template<int I, typename Tp , typename... Args>
enable_if_t< component::enumerator< I >::value, void > tim::runtime::do_enumerator_init (Tp &obj, int idx, Args &&... args)
 
template<int I, typename Tp , typename... Args>
enable_if_t<!component::enumerator< I >::value, void > tim::runtime::do_enumerator_init (Tp &, int, Args &&...)
 
template<int I>
void tim::runtime::do_enumerator_enumerate (component_match_vector_t &_vec, component_match_index_t &_idx, component_match_set_t &_set)
 
template<typename Tp , int... Ints, typename... Args>
void tim::runtime::enumerator_init (Tp &obj, int idx, int_sequence< Ints... >, Args &&... args)
 
template<typename Tp , int... Ints, typename... Args>
void tim::runtime::enumerator_insert (Tp &obj, int idx, int_sequence< Ints... >, Args &&... args)
 
template<typename Tp , int... Ints, typename... Args>
void tim::runtime::enumerator_configure (int idx, int_sequence< Ints... >, Args &&... args)
 
template<typename Tp , int... Ints, typename... Args>
void tim::runtime::enumerator_configure (Tp &obj, int idx, int_sequence< Ints... >, Args &&... args)
 
template<int... Ints>
void tim::runtime::enumerator_enumerate (component_match_vector_t &_vec, component_match_index_t &_idx, component_match_set_t &_set, int_sequence< Ints... >)
 
template<typename Tp , typename Arg , typename... Args>
void tim::runtime::initialize (Tp &obj, int idx, Arg &&arg, Args &&... args)
 
template<typename Tp , typename Arg , typename... Args>
void tim::runtime::insert (Tp &obj, int idx, Arg &&arg, Args &&... args)
 
template<typename Tp , typename Arg , typename... Args>
void tim::runtime::configure (int idx, Arg &&arg, Args &&... args)
 
template<typename Tp , typename Arg , typename... Args>
void tim::runtime::configure (Tp &obj, int idx, Arg &&arg, Args &&... args)
 
int tim::runtime::enumerate (const std::string &key)
 
int tim::runtime::enumerate (const char *key)
 
template<typename Tp >
void tim::runtime::initialize (Tp &obj, int idx)
 
template<typename Tp >
void tim::runtime::insert (Tp &obj, int idx)
 
template<typename Tp >
void tim::runtime::configure (int idx)
 
template<typename Tp >
void tim::runtime::configure (Tp &obj, int idx)
 
template<typename Tp >
void tim::runtime::insert (Tp &obj, int idx, scope::config _scope)
 
template<typename Tp >
void tim::runtime::configure (int idx, scope::config _scope)
 
template<typename Tp >
void tim::runtime::configure (Tp &obj, int idx, scope::config _scope)