#include "timemory/variadic/auto_base_bundle.hpp"
#include "timemory/variadic/types.hpp"
#include <cstddef>
#include <tuple>
#include <type_traits>
#include <utility>
Go to the source code of this file.
|
class | tim::auto_list< Types > |
| This is a variadic component wrapper where all components are optional at runtime. Accept unlimited number of parameters. The constructor starts the components, the destructor stops the components. The default behavior is to query the TIMEMORY_AUTO_LIST_INIT environment variable once (the first time the bundle is used) and use that list of components (if any) to initialize the components which are part of it's template parameters. This behavior can be modified by assigning a new lambda/functor to the reference which is returned from tim::auto_list<Types...>::get_initializer(). Assignment is not thread-safe since this is relatively unnecessary... if a different set of components are required on a particular thread, just create a different type with those particular components or pass the initialization functor to the constructor. More...
|
|
|
namespace | tim |
|
namespace | std |
| STL namespace.
|
|
|
template<typename... Types> |
auto | tim::get (const auto_list< Types... > &_obj) |
|
template<typename... Types> |
auto | tim::get_labeled (const auto_list< Types... > &_obj) |
|
template<std::size_t N, typename... Types> |
auto | std::get (tim::auto_list< Types... > &obj) -> decltype(get< N >(obj.data())) |
|
template<std::size_t N, typename... Types> |
auto | std::get (const tim::auto_list< Types... > &obj) -> decltype(get< N >(obj.data())) |
|
template<std::size_t N, typename... Types> |
auto | std::get (tim::auto_list< Types... > &&obj) -> decltype(get< N >(std::forward< tim::auto_list< Types... > >(obj).data())) |
|
◆ TIMEMORY_VARIADIC_AUTO_LIST
#define TIMEMORY_VARIADIC_AUTO_LIST |
( |
|
tag, |
|
|
|
... |
|
) |
| |
Value:
TIMEMORY_MARKER(_TIM_TYPEDEF(__LINE__), tag);
This is a variadic component wrapper where all components are optional at runtime....
Definition at line 173 of file auto_list.hpp.
◆ TIMEMORY_VARIADIC_BASIC_AUTO_LIST
#define TIMEMORY_VARIADIC_BASIC_AUTO_LIST |
( |
|
tag, |
|
|
|
... |
|
) |
| |
Value:
TIMEMORY_BASIC_MARKER(_TIM_TYPEDEF(__LINE__), tag);
Definition at line 167 of file auto_list.hpp.
◆ TIMEMORY_VARIADIC_BLANK_AUTO_LIST
#define TIMEMORY_VARIADIC_BLANK_AUTO_LIST |
( |
|
tag, |
|
|
|
... |
|
) |
| |
Value:
TIMEMORY_BLANK_MARKER(_TIM_TYPEDEF(__LINE__), tag);
Definition at line 161 of file auto_list.hpp.