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.
component_tuple.hpp File Reference
#include "timemory/backends/dmp.hpp"
#include "timemory/general/source_location.hpp"
#include "timemory/mpl/apply.hpp"
#include "timemory/mpl/filters.hpp"
#include "timemory/operations/types.hpp"
#include "timemory/settings/declaration.hpp"
#include "timemory/utility/macros.hpp"
#include "timemory/variadic/bundle.hpp"
#include "timemory/variadic/functional.hpp"
#include "timemory/variadic/types.hpp"
#include <cstdint>
#include <cstdio>
#include <string>
+ Include dependency graph for component_tuple.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tim::component_tuple< Types >
 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. This bundler is used by tim::auto_tuple whose constructor and destructor invoke the start() and stop() member functions respectively. More...
 

Namespaces

namespace  tim
 
namespace  std
 STL namespace.
 

Functions

template<typename... Types>
auto tim::get (const component_tuple< Types... > &_obj) -> decltype(std::declval< component_tuple< Types... > >().get())
 
template<typename... Types>
auto tim::get_labeled (const component_tuple< Types... > &_obj) -> decltype(std::declval< component_tuple< Types... > >().get_labeled())
 
template<std::size_t N, typename... Types>
std::tuple_element< N, std::tuple< Types... > >::type & std::get (::tim::component_tuple< Types... > &obj)
 
template<std::size_t N, typename... Types>
const std::tuple_element< N, std::tuple< Types... > >::type & std::get (const ::tim::component_tuple< Types... > &obj)
 
template<std::size_t N, typename... Types>
auto std::get (::tim::component_tuple< Types... > &&obj) -> decltype(get< N >(std::forward<::tim::component_tuple< Types... > >(obj).data()))