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.
auto_bundle.hpp File Reference
#include "timemory/variadic/auto_base_bundle.hpp"
#include "timemory/variadic/types.hpp"
#include <cstddef>
#include <tuple>
#include <type_traits>
#include <utility>
+ Include dependency graph for auto_bundle.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tim::auto_bundle< Tag, Types... >
 

Namespaces

namespace  tim
 
namespace  std
 STL namespace.
 

Macros

#define TIMEMORY_VARIADIC_BLANK_AUTO_BUNDLE(tag, ...)
 
#define TIMEMORY_VARIADIC_BASIC_AUTO_BUNDLE(tag, ...)
 
#define TIMEMORY_VARIADIC_AUTO_BUNDLE(tag, ...)
 

Functions

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

Macro Definition Documentation

◆ TIMEMORY_VARIADIC_AUTO_BUNDLE

#define TIMEMORY_VARIADIC_AUTO_BUNDLE (   tag,
  ... 
)
Value:
using _TIM_TYPEDEF(__LINE__) = ::tim::auto_bundle<__VA_ARGS__>; \
TIMEMORY_MARKER(_TIM_TYPEDEF(__LINE__), tag);
This is a variadic component wrapper which combines the features of tim::auto_tuple<T....
Definition: types.hpp:75

Definition at line 185 of file auto_bundle.hpp.

◆ TIMEMORY_VARIADIC_BASIC_AUTO_BUNDLE

#define TIMEMORY_VARIADIC_BASIC_AUTO_BUNDLE (   tag,
  ... 
)
Value:
using _TIM_TYPEDEF(__LINE__) = ::tim::auto_bundle<__VA_ARGS__>; \
TIMEMORY_BASIC_MARKER(_TIM_TYPEDEF(__LINE__), tag);

Definition at line 179 of file auto_bundle.hpp.

◆ TIMEMORY_VARIADIC_BLANK_AUTO_BUNDLE

#define TIMEMORY_VARIADIC_BLANK_AUTO_BUNDLE (   tag,
  ... 
)
Value:
using _TIM_TYPEDEF(__LINE__) = ::tim::auto_bundle<__VA_ARGS__>; \
TIMEMORY_BLANK_MARKER(_TIM_TYPEDEF(__LINE__), tag);

Definition at line 173 of file auto_bundle.hpp.