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.
types.hpp File Reference
#include "timemory/components/types.hpp"
#include "timemory/enum.h"
#include "timemory/environment/declaration.hpp"
#include "timemory/runtime/macros.hpp"
#include <initializer_list>
#include <string>
+ Include dependency graph for types.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
 
namespace  tim::env
 

Functions

template<typename StringT , typename... ExtraArgs, template< typename, typename... > class Container>
std::vector< TIMEMORY_COMPONENTtim::enumerate_components (const Container< StringT, ExtraArgs... > &component_names)
 description: use this function to generate an array of enumerations from a list of string that can be subsequently used to initialize an auto_list or a component_list More...
 
template<typename... ExtraArgs>
std::set< TIMEMORY_COMPONENTtim::enumerate_components (const std::set< std::string, ExtraArgs... > &component_names)
 
std::set< TIMEMORY_COMPONENTtim::enumerate_components (const std::initializer_list< std::string > &component_names)
 
template<template< typename... > class CompList, typename... CompTypes, template< typename, typename... > class Container, typename Intp , typename... ExtraArgs, typename std::enable_if< std::is_integral< Intp >::value||std::is_same< Intp, TIMEMORY_NATIVE_COMPONENT >::value, int >::type >
void tim::initialize (CompList< CompTypes... > &obj, const Container< Intp, ExtraArgs... > &components)
 description: use this function to initialize a auto_list or component_list from a list of enumerations More...
 
template<typename T , typename... Args>
void tim::initialize (T *obj, Args &&... args)
 
template<size_t Idx, typename Type , template< size_t, typename > class Bundle, template< typename, typename... > class Container, typename Intp , typename... ExtraArgs, typename std::enable_if< std::is_integral< Intp >::value||std::is_same< Intp, TIMEMORY_NATIVE_COMPONENT >::value, int >::type >
void tim::insert (Bundle< Idx, Type > &obj, const Container< Intp, ExtraArgs... > &components)
 description: use this function to insert tools into a bundle More...
 
template<typename T , typename... Args>
void tim::insert (T *obj, Args &&... args)
 
template<typename Bundle_t , template< typename, typename... > class Container, typename Intp , typename... ExtraArgs, typename... Args, typename std::enable_if< std::is_integral< Intp >::value||std::is_same< Intp, TIMEMORY_NATIVE_COMPONENT >::value, int >::type = 0>
void tim::configure (const Container< Intp, ExtraArgs... > &components, Args &&...)
 description: use this function to insert tools into a bundle More...
 
template<typename Bundle , typename EnumT , typename... Args>
void tim::configure (std::initializer_list< EnumT > components, Args &&... args)
 
template<typename Bundle , typename... Args>
void tim::configure (const std::initializer_list< std::string > &components, Args &&... args)
 
template<typename Bundle , typename... ExtraArgs, template< typename, typename... > class Container, typename... Args>
void tim::configure (const Container< std::string, ExtraArgs... > &components, Args &&... args)
 this is for initializing with a container of string More...
 
template<typename Bundle , typename... Args>
void tim::configure (const std::string &components, Args &&... args)
 this is for initializing with a string More...
 
template<typename Bundle , template< typename, typename... > class Container, typename... ExtraArgs, typename... Args>
void tim::configure (const Container< const char *, ExtraArgs... > &components, Args &&... args)
 
template<typename Bundle , typename... Args>
void tim::configure (const int ncomponents, const int *components, Args &&... args)
 
template<typename Tp , typename Arg , typename... Args>
void tim::runtime::initialize (Tp &obj, int idx, Arg &&, Args &&...)
 
template<typename Tp , typename Arg , typename... Args>
void tim::runtime::insert (Tp &obj, int idx, Arg &&, 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)
 
template<template< typename... > class CompList, typename... CompTypes, typename std::enable_if< sizeof...(CompTypes) !=0, int >::type = 0>
void tim::env::initialize (CompList< CompTypes... > &obj, const std::string &env_var, const std::string &default_env)
 
template<typename T , typename... Args>
void tim::env::initialize (T *obj, Args &&... args)
 
template<size_t Idx, typename Type , template< size_t, typename > class Bundle>
void tim::env::insert (Bundle< Idx, Type > &obj, const std::string &env_var, const std::string &default_env)
 
template<typename T , typename... Args>
void tim::env::insert (T *obj, Args &&... args)
 
template<typename Bundle , typename... Args>
void tim::env::configure (const std::string &env_var, const std::string &default_env, Args &&... args)
 

Detailed Description

Declarations

Definition in file types.hpp.