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.
|
#include "timemory/components/user_bundle/components.hpp"
Public Types | |
using | tag_type = Tag |
using | mutex_t = std::mutex |
using | start_func_t = std::function< void *(const std::string &, scope::config)> |
using | stop_func_t = std::function< void(void *)> |
using | get_func_t = std::function< void(void *, void *&, size_t)> |
using | delete_func_t = std::function< void(void *)> |
using | opaque_array_t = std::vector< opaque > |
using | typeid_vec_t = std::vector< size_t > |
using | typeid_set_t = std::set< size_t > |
using | value_type = void |
using | this_type = user_bundle< Idx, Tag > |
using | base_type = base< this_type, value_type > |
using | storage_type = typename base_type::storage_type |
Public Member Functions | |
user_bundle () | |
user_bundle (const char *_prefix, scope::config _scope=scope::get_default()) | |
user_bundle (const char *_prefix, opaque_array_t _bundle_vec, typeid_vec_t _typeids, scope::config _scope=scope::get_default()) | |
user_bundle (const char *_prefix, opaque_array_t _bundle_vec, typeid_set_t _typeids, scope::config _scope=scope::get_default()) | |
~user_bundle ()=default | |
user_bundle (const user_bundle &)=default | |
user_bundle (user_bundle &&rhs) noexcept=default | |
user_bundle & | operator= (const user_bundle &rhs)=default |
user_bundle & | operator= (user_bundle &&rhs) noexcept=default |
void | clear () |
template<typename T > | |
T * | get () |
void | get () const |
void | get (void *&ptr, size_t _typeid_hash) const |
template<typename Type , typename... Types, typename... Args> | |
void | insert (Args... args) |
Static Public Member Functions | |
static size_t | bundle_size () |
static void | global_init (bool _preinit=false) |
static void | global_init (storage_type *) |
static void | configure (opaque &&obj, std::set< size_t > &&_typeids) |
template<typename Type , typename... Types, typename... Args> | |
static void | configure (Args &&... args) |
static void | reset () |
static opaque_array_t & | get_data () |
template instantiation-specific static opaque array More... | |
static typeid_vec_t & | get_typeids () |
template instantiation-specific static set of type identifiers More... | |
static mutex_t & | get_lock () |
template instantiation-specific static mutex More... | |
template<typename... Args> | |
static opaque | get_opaque (Args &&...) |
Static Public Attributes | |
static constexpr auto | index = Idx |
Friends | |
struct | operation::record< this_type > |
struct | operation::start< this_type > |
struct | operation::stop< this_type > |
struct | operation::set_started< this_type > |
struct | operation::set_stopped< this_type > |
Definition at line 191 of file components.hpp.
using tim::component::user_bundle< Idx, Tag >::base_type = base<this_type, value_type> |
Definition at line 210 of file components.hpp.
using tim::component::user_bundle< Idx, Tag >::delete_func_t = std::function<void(void*)> |
Definition at line 203 of file components.hpp.
using tim::component::user_bundle< Idx, Tag >::get_func_t = std::function<void(void*, void*&, size_t)> |
Definition at line 202 of file components.hpp.
using tim::component::user_bundle< Idx, Tag >::mutex_t = std::mutex |
Definition at line 199 of file components.hpp.
using tim::component::user_bundle< Idx, Tag >::opaque_array_t = std::vector<opaque> |
Definition at line 204 of file components.hpp.
using tim::component::user_bundle< Idx, Tag >::start_func_t = std::function<void*(const std::string&, scope::config)> |
Definition at line 200 of file components.hpp.
using tim::component::user_bundle< Idx, Tag >::stop_func_t = std::function<void(void*)> |
Definition at line 201 of file components.hpp.
using tim::component::user_bundle< Idx, Tag >::storage_type = typename base_type::storage_type |
Definition at line 211 of file components.hpp.
using tim::component::user_bundle< Idx, Tag >::tag_type = Tag |
Definition at line 198 of file components.hpp.
using tim::component::user_bundle< Idx, Tag >::this_type = user_bundle<Idx, Tag> |
Definition at line 209 of file components.hpp.
using tim::component::user_bundle< Idx, Tag >::typeid_set_t = std::set<size_t> |
Definition at line 206 of file components.hpp.
using tim::component::user_bundle< Idx, Tag >::typeid_vec_t = std::vector<size_t> |
Definition at line 205 of file components.hpp.
using tim::component::user_bundle< Idx, Tag >::value_type = void |
Definition at line 208 of file components.hpp.
|
inline |
Definition at line 239 of file components.hpp.
|
inlineexplicit |
Definition at line 244 of file components.hpp.
|
inline |
Definition at line 249 of file components.hpp.
|
inline |
Definition at line 255 of file components.hpp.
|
default |
|
default |
|
defaultnoexcept |
|
inlinestatic |
Definition at line 219 of file components.hpp.
References tim::component::user_bundle< Idx, Tag >::get_data().
|
inline |
Definition at line 336 of file components.hpp.
References tim::component::base< Tp, Value >::get_is_running(), and tim::invoke::stop().
|
inlinestatic |
Definition at line 281 of file components.hpp.
References tim::component::user_bundle< Idx, Tag >::configure(), and TIMEMORY_FOLD_EXPRESSION.
|
inlinestatic |
Definition at line 273 of file components.hpp.
Referenced by tim::component::user_bundle< Idx, Tag >::configure().
|
inline |
Definition at line 346 of file components.hpp.
|
inline |
Definition at line 359 of file components.hpp.
|
inline |
Definition at line 361 of file components.hpp.
References tim::component::base< Tp, Value >::get(), and tim::get().
|
inlinestatic |
template instantiation-specific static opaque array
Definition at line 411 of file components.hpp.
Referenced by tim::component::user_bundle< Idx, Tag >::bundle_size(), and tim::component::user_bundle< Idx, Tag >::reset().
|
inlinestatic |
template instantiation-specific static mutex
Definition at line 417 of file components.hpp.
Referenced by tim::component::user_bundle< Idx, Tag >::reset().
|
inlinestaticinherited |
Definition at line 72 of file declaration.hpp.
|
inlinestatic |
template instantiation-specific static set of type identifiers
Definition at line 414 of file components.hpp.
Referenced by tim::component::user_bundle< Idx, Tag >::reset().
|
static |
|
inlinestatic |
Definition at line 221 of file components.hpp.
References tim::component::user_bundle< Idx, Tag >::global_init().
Referenced by tim::component::user_bundle< Idx, Tag >::global_init().
|
inline |
Definition at line 369 of file components.hpp.
References tim::component::user_bundle< Idx, Tag >::insert(), and TIMEMORY_FOLD_EXPRESSION.
Referenced by tim::component::user_bundle< Idx, Tag >::insert().
|
default |
|
defaultnoexcept |
|
inlinestatic |
|
friend |
Definition at line 197 of file components.hpp.
|
friend |
Definition at line 197 of file components.hpp.
|
friend |
Definition at line 197 of file components.hpp.
|
friend |
Definition at line 197 of file components.hpp.
|
friend |
Definition at line 197 of file components.hpp.
|
staticconstexpr |
Definition at line 197 of file components.hpp.