33#include "timemory/backends/dmp.hpp"
75template <
typename... Types>
77:
public bundle<TIMEMORY_API, component_tuple<>,
78 tim::variadic::stack_wrapper_types<concat<Types...>>>
91 template <
typename... Args>
102template <
typename... Types>
103template <
typename... Args>
110template <
typename... Types>
120template <
typename... Types>
125 return _obj.get_labeled();
140template <std::size_t N,
typename... Types>
141typename std::tuple_element<N, std::tuple<Types...>>::type&
144 return get<N>(obj.data());
149template <std::size_t N,
typename... Types>
150const typename std::tuple_element<N, std::tuple<Types...>>::type&
151get(const ::tim::component_tuple<Types...>& obj)
153 return get<N>(obj.data());
158template <std::size_t N,
typename... Types>
164 return get<N>(std::forward<obj_type>(obj).data());
This is a variadic component wrapper where all components are allocated on the stack and cannot be di...
This is a variadic component wrapper where all components are allocated on the stack and cannot be di...
component_tuple & operator=(const component_tuple &rhs)=default
~component_tuple()=default
component_tuple(Args &&...)
component_tuple(const component_tuple &)=default
component_tuple & operator=(component_tuple &&)=default
component_tuple(component_tuple &&)=default
std::tuple_element< N, std::tuple< Types... > >::type & get(tim::auto_bundle< Tag, Types... > &obj)
typename impl::concat< Types... >::type concat
auto get_labeled(const auto_bundle< Tag, Types... > &_obj)
auto get(const auto_bundle< Tag, Types... > &_obj)
Static polymorphic base class for component bundlers.
Declare the operations types.