29#include "timemory/backends/dmp.hpp"
93template <
typename... Types>
95:
public bundle<TIMEMORY_API, component_list<>,
96 tim::variadic::heap_wrapper_types<concat<Types...>>>
109 template <
typename... Args>
120template <
typename... Types>
121template <
typename... Args>
128template <
typename... Types>
138template <
typename... Types>
143 return _obj.get_labeled();
158template <std::size_t N,
typename... Types>
159typename std::tuple_element<N, std::tuple<Types...>>::type&
162 return get<N>(obj.data());
167template <std::size_t N,
typename... Types>
168const typename std::tuple_element<N, std::tuple<Types...>>::type&
171 return get<N>(obj.data());
176template <std::size_t N,
typename... Types>
182 return get<N>(std::forward<obj_type>(obj).data());
This is a variadic component wrapper where all components are optional at runtime....
This is a variadic component wrapper where all components are optional at runtime....
~component_list()=default
component_list(const component_list &)=default
component_list & operator=(component_list &&)=default
component_list(component_list &&)=default
component_list & operator=(const component_list &rhs)=default
component_list(Args &&...)
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.