33#include "timemory/backends/dmp.hpp"
73template <
typename Tag,
typename... Types>
75:
public bundle<Tag, component_bundle<Tag>,
76 tim::variadic::mixed_wrapper_types<concat<Types...>>>
89 template <
typename... Args>
100template <
typename Tag,
typename... Types>
101template <
typename... Args>
109template <
typename... Types>
119template <
typename... Types>
124 return _obj.get_labeled();
139template <std::size_t N,
typename Tag,
typename... Types>
140typename std::tuple_element<N, std::tuple<Types...>>::type&
143 return get<N>(obj.data());
148template <std::size_t N,
typename Tag,
typename... Types>
149const typename std::tuple_element<N, std::tuple<Types...>>::type&
150get(const ::tim::component_bundle<Tag, Types...>& obj)
152 return get<N>(obj.data());
157template <std::size_t N,
typename Tag,
typename... Types>
163 return get<N>(std::forward<obj_type>(obj).data());
~component_bundle()=default
component_bundle & operator=(component_bundle &&)=default
component_bundle & operator=(const component_bundle &rhs)=default
component_bundle(Args &&...)
component_bundle(component_bundle &&)=default
component_bundle(const component_bundle &)=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.
This is a variadic component wrapper which combines the features of tim::component_tuple<T....
This is a variadic component wrapper which combines the features of tim::auto_tuple<T....
Declare the operations types.
typename component_bundle