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.
|
This is a variadic component wrapper where all components are allocated on the stack and cannot be disabled at runtime. This bundler has the lowest overhead. Accepts unlimited number of template parameters. The constructor starts the components, the destructor stops the components. More...
#include "timemory/variadic/auto_tuple.hpp"
Public Types | |
using | this_type = auto_tuple< Types... > |
using | base_type = component_tuple< Types... > |
using | auto_type = this_type |
using | component_type = typename base_type::component_type |
using | type = convert_t< mpl::available_t< concat< Types... > >, auto_tuple<> > |
Public Member Functions | |
template<typename... Args> | |
auto_tuple (Args &&... args) | |
~auto_tuple ()=default | |
auto_tuple (const auto_tuple &)=default | |
auto_tuple (auto_tuple &&)=default | |
auto_tuple & | operator= (const auto_tuple &)=default |
auto_tuple & | operator= (auto_tuple &&)=default |
this_type & | print (std::ostream &os, bool _endl=false) const |
Static Public Member Functions | |
static constexpr std::size_t | size () |
Friends | |
std::ostream & | operator<< (std::ostream &os, const this_type &obj) |
This is a variadic component wrapper where all components are allocated on the stack and cannot be disabled at runtime. This bundler has the lowest overhead. Accepts unlimited number of template parameters. The constructor starts the components, the destructor stops the components.
Types | Specification of the component types to bundle together |
The above code will record wall-clock, cpu-clock, and peak-rss. The intermediate storage will happen on the stack and when the destructor is called, it will add itself to the call-graph
Definition at line 62 of file auto_tuple.hpp.
using tim::auto_tuple< Types >::auto_type = this_type |
Definition at line 72 of file auto_tuple.hpp.
using tim::auto_tuple< Types >::base_type = component_tuple<Types...> |
Definition at line 71 of file auto_tuple.hpp.
using tim::auto_tuple< Types >::component_type = typename base_type::component_type |
Definition at line 73 of file auto_tuple.hpp.
using tim::auto_tuple< Types >::this_type = auto_tuple<Types...> |
Definition at line 70 of file auto_tuple.hpp.
using tim::auto_tuple< Types >::type = convert_t<mpl::available_t<concat<Types...> >, auto_tuple<> > |
Definition at line 74 of file auto_tuple.hpp.
|
explicit |
Definition at line 99 of file auto_tuple.hpp.
|
default |
|
default |
|
default |
|
default |
|
default |
auto_tuple< Types... > & tim::auto_tuple< Types >::print | ( | std::ostream & | os, |
bool | _endl = false |
||
) | const |
|
inlinestaticconstexpr |
Definition at line 86 of file auto_tuple.hpp.
|
friend |
Definition at line 90 of file auto_tuple.hpp.