timemory
3.2.1
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 which provides the least amount of runtime and compilation overhead. More...
#include "timemory/variadic/lightweight_tuple.hpp"
Public Types | |
using | captured_location_t = source_location::captured |
using | this_type = lightweight_tuple< Types... > |
using | type_list_type = type_list< Types... > |
using | data_type = typename bundle_type::data_type |
using | tuple_type = typename bundle_type::tuple_type |
using | sample_type = typename bundle_type::sample_type |
using | reference_type = typename bundle_type::reference_type |
using | user_bundle_types = typename bundle_type::user_bundle_types |
using | size_type = typename bundle_type::size_type |
using | string_t = typename bundle_type::string_t |
template<template< typename > class Op, typename Tuple = impl_type> | |
using | operation_t = typename bundle_type::template generic_operation< Op, Tuple >::type |
template<template< typename > class Op, typename Tuple = impl_type> | |
using | custom_operation_t = typename bundle_type::template custom_operation< Op, Tuple >::type |
using | auto_type = mpl::append_type_t< quirk::auto_start, this_type > |
using | component_type = mpl::remove_type_t< quirk::auto_start, this_type > |
using | type = convert_t< tuple_type, lightweight_tuple<> > |
using | initializer_type = std::function< void(this_type &)> |
using | transient_func_t = utility::transient_function< void(this_type &)> |
template<typename T , typename... U> | |
using | quirk_config = tim::variadic::impl::quirk_config< T, type_list< Types... >, U... > |
Public Member Functions | |
lightweight_tuple ()=default | |
template<typename... T> | |
lightweight_tuple (const string_t &key, quirk::config< T... >={}, transient_func_t=get_initializer()) | |
template<typename... T> | |
lightweight_tuple (const captured_location_t &loc, quirk::config< T... >={}, transient_func_t=get_initializer()) | |
template<typename... T> | |
lightweight_tuple (size_t _hash, quirk::config< T... >={}, transient_func_t=get_initializer()) | |
lightweight_tuple (size_t _hash, scope::config _scope, transient_func_t=get_initializer()) | |
lightweight_tuple (const string_t &key, scope::config _scope, transient_func_t=get_initializer()) | |
lightweight_tuple (const captured_location_t &loc, scope::config _scope, transient_func_t=get_initializer()) | |
~lightweight_tuple () | |
lightweight_tuple (const lightweight_tuple &)=default | |
lightweight_tuple (lightweight_tuple &&) noexcept=default | |
lightweight_tuple & | operator= (const lightweight_tuple &rhs)=default |
lightweight_tuple & | operator= (lightweight_tuple &&) noexcept=default |
lightweight_tuple | clone (bool store, scope::config _scope=scope::get_default()) |
this_type & | push () |
this_type & | pop () |
template<typename... Args> | |
this_type & | measure (Args &&...) |
template<typename... Args> | |
this_type & | sample (Args &&...) |
template<typename... Args> | |
this_type & | start (Args &&...) |
template<typename... Args> | |
this_type & | stop (Args &&...) |
template<typename... Args> | |
this_type & | record (Args &&...) |
template<typename... Args> | |
this_type & | reset (Args &&...) |
template<typename... Args> | |
auto | get (Args &&...) const |
template<typename... Args> | |
auto | get_labeled (Args &&...) const |
data_type & | data () |
const data_type & | data () const |
this_type & | set_scope (scope::config) |
template<typename FuncT , typename... Args> | |
decltype(auto) | execute (FuncT &&func, Args &&... args) |
when chaining together operations, this function enables executing a function inside the chain More... | |
template<typename... Args> | |
this_type & | construct (Args &&... _args) |
construct the objects that have constructors with matching arguments More... | |
this_type & | assemble () |
provide preliminary info to the objects with matching arguments. This is typically used to notify a component that it has been bundled alongside another component that it can extract data from. More... | |
template<typename... Args, size_t N = sizeof...(Args), enable_if_t< N !=0, int > = 0> | |
this_type & | assemble (Args &&... _args) |
this_type & | derive () |
provide conclusive info to the objects with matching arguments. This is typically used by components to extract data from another component it has been bundled alongside, e.g. the cpu_util component can extract data from tim::component::wall_clock and tim::component::cpu_clock More... | |
template<typename... Args, size_t N = sizeof...(Args), enable_if_t< N !=0, int > = 0> | |
this_type & | derive (Args &&... _args) |
template<typename... Args> | |
this_type & | mark_begin (Args &&... _args) |
mark a beginning position in the execution (typically used by asynchronous structures) More... | |
template<typename... Args> | |
this_type & | mark_end (Args &&... _args) |
mark a beginning position in the execution (typically used by asynchronous structures) More... | |
template<typename... Args> | |
this_type & | store (Args &&... _args) |
store a value More... | |
template<typename... Args> | |
this_type & | audit (Args &&... _args) |
allow the components to inspect the incoming arguments before start or out-going return value before returning (typically using in GOTCHA components) More... | |
template<template< typename > class OpT, typename... Args> | |
this_type & | invoke (Args &&... _args) |
apply a user-defined operation to all the components More... | |
template<template< typename > class OpT, typename... Tp, typename... Args> | |
this_type & | invoke (mpl::piecewise_select< Tp... >, Args &&... _args) |
generic member function for invoking user-provided operations on a specific set of component types More... | |
template<typename T , enable_if_t< is_one_of< T, data_type >::value, int > = 0> | |
T * | get () |
get member functions taking either a type More... | |
template<typename T , enable_if_t< is_one_of< T, data_type >::value, int > = 0> | |
const T * | get () const |
template<typename T , enable_if_t<!is_one_of< T, data_type >::value, int > = 0> | |
T * | get () const |
this_type & | get (void *&ptr, size_t _hash) const |
template<typename U , typename T = std::remove_pointer_t<decay_t<U>>, enable_if_t< trait::is_available< T >::value &&is_one_of< T, data_type >::value, int > = 0> | |
auto | get_component () |
this is a simple alternative to get<T>() when used from SFINAE in operation namespace which has a struct get also templated. Usage there can cause error with older compilers More... | |
template<typename T , typename... Args, enable_if_t<!is_one_of< T, reference_type >::value &&has_user_bundle_v, int > = 0> | |
bool | init (Args &&...) |
template<typename T , typename... Args, enable_if_t<!is_one_of< T, reference_type >::value &&!has_user_bundle_v, int > = 0> | |
bool | init (Args &&...) |
template<typename... T, typename... Args> | |
auto | initialize (Args &&... args) |
variadic initialization More... | |
template<typename T , typename Func , typename... Args, enable_if_t< is_one_of< T, data_type >::value, int > = 0> | |
this_type & | type_apply (Func &&_func, Args &&... _args) |
apply a member function to a type that is in variadic list AND is available More... | |
template<typename T , typename Func , typename... Args, enable_if_t<!is_one_of< T, data_type >::value, int > = 0> | |
this_type & | type_apply (Func &&, Args &&...) |
this_type & | operator-= (const this_type &rhs) |
this_type & | operator-= (this_type &rhs) |
this_type & | operator+= (const this_type &rhs) |
this_type & | operator+= (this_type &rhs) |
template<typename Op > | |
this_type & | operator-= (Op &&rhs) |
template<typename Op > | |
this_type & | operator+= (Op &&rhs) |
template<typename Op > | |
this_type & | operator*= (Op &&rhs) |
template<typename Op > | |
this_type & | operator/= (Op &&rhs) |
template<bool PrintPrefix = true, bool PrintLaps = true> | |
this_type & | print (std::ostream &os, bool skip_wo_hash=true) const |
template<typename Archive > | |
void | serialize (Archive &ar, const unsigned int) |
int64_t | laps () const |
std::string | key () const |
uint64_t | hash () const |
bool & | store () |
const bool & | store () const |
auto | prefix () const |
auto | get_prefix () const |
void | rekey (const string_t &_key) |
void | rekey (const captured_location_t &_loc) |
void | rekey (uint64_t _hash) |
template<typename... Args> | |
lightweight_tuple< Types... > & | measure (Args &&... args) |
template<typename... Args> | |
lightweight_tuple< Types... > & | sample (Args &&... args) |
template<typename... Args> | |
lightweight_tuple< Types... > & | start (Args &&... args) |
template<typename... Args> | |
lightweight_tuple< Types... > & | stop (Args &&... args) |
template<typename... Args> | |
lightweight_tuple< Types... > & | record (Args &&... args) |
template<typename... Args> | |
lightweight_tuple< Types... > & | reset (Args &&... args) |
template<typename... Args> | |
auto | get (Args &&... args) const |
template<typename... Args> | |
auto | get_labeled (Args &&... args) const |
Static Public Member Functions | |
static initializer_type & | get_initializer () |
static constexpr std::size_t | size () |
static void | init_storage () |
requests the component initialize their storage More... | |
Static Public Attributes | |
static constexpr bool | has_gotcha_v = bundle_type::has_gotcha_v |
static constexpr bool | has_user_bundle_v = bundle_type::has_user_bundle_v |
Protected Types | |
using | apply_v = mpl::apply< void > |
using | bundle_type = stack_bundle< mpl::available_t< type_list< Types... > >> |
using | impl_type = typename bundle_type::impl_type |
Protected Member Functions | |
data_type & | get_data () |
const data_type & | get_data () const |
void | set_prefix (const string_t &) const |
void | set_prefix (size_t) const |
Protected Attributes | |
data_type | m_data = data_type{} |
Friends | |
template<typename... Tp> | |
class | impl::base_bundle |
this_type | operator+ (const this_type &lhs, const this_type &rhs) |
this_type | operator- (const this_type &lhs, const this_type &rhs) |
template<typename Op > | |
this_type | operator* (const this_type &lhs, Op &&rhs) |
template<typename Op > | |
this_type | operator/ (const this_type &lhs, Op &&rhs) |
std::ostream & | operator<< (std::ostream &os, const this_type &obj) |
This is a variadic component wrapper which provides the least amount of runtime and compilation overhead.
Types | Specification of the component types to bundle together |
Definition at line 67 of file lightweight_tuple.hpp.
|
protected |
Definition at line 72 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::auto_type = mpl::append_type_t<quirk::auto_start, this_type> |
Definition at line 101 of file lightweight_tuple.hpp.
|
protected |
Definition at line 73 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::captured_location_t = source_location::captured |
Definition at line 80 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::component_type = mpl::remove_type_t<quirk::auto_start, this_type> |
Definition at line 102 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::custom_operation_t = typename bundle_type::template custom_operation<Op, Tuple>::type |
Definition at line 98 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::data_type = typename bundle_type::data_type |
Definition at line 85 of file lightweight_tuple.hpp.
|
protected |
Definition at line 74 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::initializer_type = std::function<void(this_type&)> |
Definition at line 104 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::operation_t = typename bundle_type::template generic_operation<Op, Tuple>::type |
Definition at line 95 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::quirk_config = tim::variadic::impl::quirk_config<T, type_list<Types...>, U...> |
Definition at line 118 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::reference_type = typename bundle_type::reference_type |
Definition at line 88 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::sample_type = typename bundle_type::sample_type |
Definition at line 87 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::size_type = typename bundle_type::size_type |
Definition at line 91 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::string_t = typename bundle_type::string_t |
Definition at line 92 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::this_type = lightweight_tuple<Types...> |
Definition at line 82 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::transient_func_t = utility::transient_function<void(this_type&)> |
Definition at line 105 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::tuple_type = typename bundle_type::tuple_type |
Definition at line 86 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::type = convert_t<tuple_type, lightweight_tuple<> > |
Definition at line 103 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::type_list_type = type_list<Types...> |
Definition at line 83 of file lightweight_tuple.hpp.
using tim::lightweight_tuple< Types >::user_bundle_types = typename bundle_type::user_bundle_types |
Definition at line 89 of file lightweight_tuple.hpp.
|
default |
|
explicit |
Definition at line 44 of file lightweight_tuple.cpp.
|
explicit |
Definition at line 57 of file lightweight_tuple.cpp.
|
explicit |
Definition at line 70 of file lightweight_tuple.cpp.
|
explicit |
Definition at line 81 of file lightweight_tuple.cpp.
|
explicit |
Definition at line 92 of file lightweight_tuple.cpp.
References tim::init(), and tim::lightweight_tuple< Types >::m_data.
|
explicit |
Definition at line 102 of file lightweight_tuple.cpp.
tim::lightweight_tuple< Types >::~lightweight_tuple |
Definition at line 111 of file lightweight_tuple.cpp.
References IF_CONSTEXPR, and tim::invoke::stop().
|
default |
|
defaultnoexcept |
|
inline |
provide preliminary info to the objects with matching arguments. This is typically used to notify a component that it has been bundled alongside another component that it can extract data from.
Definition at line 224 of file lightweight_tuple.hpp.
References tim::invoke::assemble(), and tim::lightweight_tuple< Types >::m_data.
|
inline |
Definition at line 227 of file lightweight_tuple.hpp.
References tim::invoke::assemble(), and tim::lightweight_tuple< Types >::m_data.
|
inline |
allow the components to inspect the incoming arguments before start or out-going return value before returning (typically using in GOTCHA components)
Definition at line 285 of file lightweight_tuple.hpp.
References tim::invoke::audit(), and tim::lightweight_tuple< Types >::m_data.
lightweight_tuple< Types... > tim::lightweight_tuple< Types >::clone | ( | bool | store, |
scope::config | _scope = scope::get_default() |
||
) |
Definition at line 124 of file lightweight_tuple.cpp.
|
inline |
construct the objects that have constructors with matching arguments
Definition at line 212 of file lightweight_tuple.hpp.
References tim::lightweight_tuple< Types >::m_data.
lightweight_tuple< Types... >::data_type & tim::lightweight_tuple< Types >::data |
Definition at line 315 of file lightweight_tuple.cpp.
Referenced by std::get().
const lightweight_tuple< Types... >::data_type & tim::lightweight_tuple< Types >::data |
Definition at line 324 of file lightweight_tuple.cpp.
|
inline |
provide conclusive info to the objects with matching arguments. This is typically used by components to extract data from another component it has been bundled alongside, e.g. the cpu_util component can extract data from tim::component::wall_clock and tim::component::cpu_clock
Definition at line 239 of file lightweight_tuple.hpp.
References tim::invoke::derive(), and tim::lightweight_tuple< Types >::m_data.
|
inline |
Definition at line 242 of file lightweight_tuple.hpp.
References tim::invoke::derive(), and tim::lightweight_tuple< Types >::m_data.
|
inline |
when chaining together operations, this function enables executing a function inside the chain
Definition at line 202 of file lightweight_tuple.hpp.
References tim::mpl::execute().
|
inline |
get member functions taking either a type
Definition at line 319 of file lightweight_tuple.hpp.
References tim::lightweight_tuple< Types >::m_data.
Referenced by tim::lightweight_tuple< Types >::get().
|
inline |
Definition at line 325 of file lightweight_tuple.hpp.
References tim::lightweight_tuple< Types >::m_data.
|
inline |
Definition at line 331 of file lightweight_tuple.hpp.
References tim::lightweight_tuple< Types >::get().
auto tim::lightweight_tuple< Types >::get | ( | Args &&... | args | ) | const |
auto tim::lightweight_tuple< Types >::get | ( | Args && | ... | ) | const |
|
inline |
Definition at line 338 of file lightweight_tuple.hpp.
References tim::lightweight_tuple< Types >::m_data.
|
inline |
this is a simple alternative to get<T>() when used from SFINAE in operation namespace which has a struct get also templated. Usage there can cause error with older compilers
Definition at line 352 of file lightweight_tuple.hpp.
|
protected |
|
protected |
|
inlinestatic |
Definition at line 111 of file lightweight_tuple.hpp.
auto tim::lightweight_tuple< Types >::get_labeled | ( | Args &&... | args | ) | const |
Definition at line 261 of file lightweight_tuple.cpp.
References tim::invoke::get_labeled().
auto tim::lightweight_tuple< Types >::get_labeled | ( | Args && | ... | ) | const |
|
inline |
Definition at line 562 of file lightweight_tuple.hpp.
Referenced by tim::lightweight_tuple< Types >::print().
|
inline |
Definition at line 558 of file lightweight_tuple.hpp.
|
inline |
Definition at line 362 of file lightweight_tuple.hpp.
|
inline |
Definition at line 376 of file lightweight_tuple.hpp.
|
static |
requests the component initialize their storage
Definition at line 364 of file lightweight_tuple.cpp.
References tim::consume_parameters().
|
inline |
variadic initialization
Definition at line 385 of file lightweight_tuple.hpp.
References TIMEMORY_FOLD_EXPANSION.
|
inline |
apply a user-defined operation to all the components
OpT | Operation struct |
Definition at line 296 of file lightweight_tuple.hpp.
References tim::lightweight_tuple< Types >::m_data.
|
inline |
generic member function for invoking user-provided operations on a specific set of component types
OpT | Operation struct |
Definition at line 308 of file lightweight_tuple.hpp.
References TIMEMORY_API, and TIMEMORY_FOLD_EXPRESSION.
|
inline |
Definition at line 557 of file lightweight_tuple.hpp.
Referenced by tim::lightweight_tuple< Types >::print().
|
inline |
Definition at line 556 of file lightweight_tuple.hpp.
|
inline |
mark a beginning position in the execution (typically used by asynchronous structures)
Definition at line 253 of file lightweight_tuple.hpp.
References tim::lightweight_tuple< Types >::m_data, and tim::invoke::mark_begin().
|
inline |
mark a beginning position in the execution (typically used by asynchronous structures)
Definition at line 264 of file lightweight_tuple.hpp.
References tim::lightweight_tuple< Types >::m_data, and tim::invoke::mark_end().
lightweight_tuple<Types...>& tim::lightweight_tuple< Types >::measure | ( | Args &&... | args | ) |
Definition at line 174 of file lightweight_tuple.cpp.
References tim::invoke::measure().
this_type& tim::lightweight_tuple< Types >::measure | ( | Args && | ... | ) |
|
inline |
Definition at line 439 of file lightweight_tuple.hpp.
References tim::lightweight_tuple< Types >::m_data.
lightweight_tuple< Types... > & tim::lightweight_tuple< Types >::operator+= | ( | const this_type & | rhs | ) |
Definition at line 293 of file lightweight_tuple.cpp.
References tim::lightweight_tuple< Types >::m_data.
|
inline |
Definition at line 431 of file lightweight_tuple.hpp.
References tim::lightweight_tuple< Types >::m_data.
lightweight_tuple< Types... > & tim::lightweight_tuple< Types >::operator+= | ( | this_type & | rhs | ) |
Definition at line 304 of file lightweight_tuple.cpp.
References tim::lightweight_tuple< Types >::m_data.
lightweight_tuple< Types... > & tim::lightweight_tuple< Types >::operator-= | ( | const this_type & | rhs | ) |
Definition at line 271 of file lightweight_tuple.cpp.
References tim::lightweight_tuple< Types >::m_data.
|
inline |
Definition at line 423 of file lightweight_tuple.hpp.
References tim::lightweight_tuple< Types >::m_data.
lightweight_tuple< Types... > & tim::lightweight_tuple< Types >::operator-= | ( | this_type & | rhs | ) |
Definition at line 282 of file lightweight_tuple.cpp.
References tim::lightweight_tuple< Types >::m_data.
|
inline |
Definition at line 447 of file lightweight_tuple.hpp.
References tim::lightweight_tuple< Types >::m_data.
|
default |
|
defaultnoexcept |
lightweight_tuple< Types... > & tim::lightweight_tuple< Types >::pop |
|
inline |
Definition at line 561 of file lightweight_tuple.hpp.
|
inline |
Definition at line 486 of file lightweight_tuple.hpp.
References tim::lightweight_tuple< Types >::get_prefix(), IF_CONSTEXPR, tim::lightweight_tuple< Types >::key(), tim::lightweight_tuple< Types >::m_data, and tim::lightweight_tuple< Types >::size().
lightweight_tuple< Types... > & tim::lightweight_tuple< Types >::push |
Definition at line 137 of file lightweight_tuple.cpp.
References tim::invoke::push(), and tim::invoke::reset().
lightweight_tuple<Types...>& tim::lightweight_tuple< Types >::record | ( | Args &&... | args | ) |
this_type& tim::lightweight_tuple< Types >::record | ( | Args && | ... | ) |
void tim::lightweight_tuple< Types >::rekey | ( | const captured_location_t & | _loc | ) |
Definition at line 602 of file lightweight_tuple.hpp.
References tim::source_location::captured::get_hash(), and tim::invoke::set_prefix().
void tim::lightweight_tuple< Types >::rekey | ( | const string_t & | _key | ) |
Definition at line 592 of file lightweight_tuple.hpp.
References tim::add_hash_id(), and tim::invoke::set_prefix().
void tim::lightweight_tuple< Types >::rekey | ( | uint64_t | _hash | ) |
Definition at line 612 of file lightweight_tuple.hpp.
References tim::invoke::set_prefix().
lightweight_tuple<Types...>& tim::lightweight_tuple< Types >::reset | ( | Args &&... | args | ) |
this_type& tim::lightweight_tuple< Types >::reset | ( | Args && | ... | ) |
lightweight_tuple<Types...>& tim::lightweight_tuple< Types >::sample | ( | Args &&... | args | ) |
Definition at line 186 of file lightweight_tuple.cpp.
this_type& tim::lightweight_tuple< Types >::sample | ( | Args && | ... | ) |
|
inline |
Definition at line 529 of file lightweight_tuple.hpp.
References tim::add_hash_id(), tim::get_hash_ids(), tim::lightweight_tuple< Types >::m_data, PRINT_HERE, and tim::invoke::serialize().
|
protected |
Definition at line 333 of file lightweight_tuple.cpp.
References tim::invoke::set_prefix().
|
protected |
Definition at line 342 of file lightweight_tuple.cpp.
References tim::get_hash_ids(), and tim::invoke::set_prefix().
lightweight_tuple< Types... > & tim::lightweight_tuple< Types >::set_scope | ( | scope::config | val | ) |
Definition at line 353 of file lightweight_tuple.cpp.
References tim::invoke::set_scope().
|
inlinestaticconstexpr |
Definition at line 161 of file lightweight_tuple.hpp.
Referenced by tim::lightweight_tuple< Types >::print().
lightweight_tuple<Types...>& tim::lightweight_tuple< Types >::start | ( | Args &&... | args | ) |
this_type& tim::lightweight_tuple< Types >::start | ( | Args && | ... | ) |
lightweight_tuple<Types...>& tim::lightweight_tuple< Types >::stop | ( | Args &&... | args | ) |
this_type& tim::lightweight_tuple< Types >::stop | ( | Args && | ... | ) |
|
inline |
|
inline |
|
inline |
store a value
Definition at line 274 of file lightweight_tuple.hpp.
References tim::lightweight_tuple< Types >::m_data, and tim::invoke::store().
|
inline |
Definition at line 406 of file lightweight_tuple.hpp.
|
inline |
apply a member function to a type that is in variadic list AND is available
Definition at line 397 of file lightweight_tuple.hpp.
|
friend |
Definition at line 77 of file lightweight_tuple.hpp.
|
friend |
Definition at line 470 of file lightweight_tuple.hpp.
|
friend |
Definition at line 457 of file lightweight_tuple.hpp.
|
friend |
Definition at line 463 of file lightweight_tuple.hpp.
|
friend |
Definition at line 477 of file lightweight_tuple.hpp.
|
friend |
Definition at line 520 of file lightweight_tuple.hpp.
|
staticconstexpr |
Definition at line 107 of file lightweight_tuple.hpp.
|
staticconstexpr |
Definition at line 108 of file lightweight_tuple.hpp.
|
mutableprotected |
Definition at line 584 of file lightweight_tuple.hpp.
Referenced by tim::lightweight_tuple< Types >::lightweight_tuple(), tim::lightweight_tuple< Types >::assemble(), tim::lightweight_tuple< Types >::audit(), tim::lightweight_tuple< Types >::construct(), tim::lightweight_tuple< Types >::derive(), tim::lightweight_tuple< Types >::get(), tim::lightweight_tuple< Types >::invoke(), tim::lightweight_tuple< Types >::mark_begin(), tim::lightweight_tuple< Types >::mark_end(), tim::lightweight_tuple< Types >::operator*=(), tim::lightweight_tuple< Types >::operator+=(), tim::lightweight_tuple< Types >::operator-=(), tim::lightweight_tuple< Types >::operator/=(), tim::lightweight_tuple< Types >::print(), tim::lightweight_tuple< Types >::serialize(), and tim::lightweight_tuple< Types >::store().