38#include <initializer_list>
56template <
typename StringT,
typename... ExtraArgs,
57 template <
typename,
typename...>
class Container>
58std::vector<TIMEMORY_COMPONENT>
61template <
typename... ExtraArgs>
62std::set<TIMEMORY_COMPONENT>
65std::set<TIMEMORY_COMPONENT>
85 template <
typename...>
class CompList,
typename... CompTypes,
86 template <
typename,
typename...>
class Container,
typename Intp,
87 typename... ExtraArgs,
88 typename std::enable_if<std::is_integral<Intp>::value ||
89 std::is_same<Intp, TIMEMORY_NATIVE_COMPONENT>::value,
94template <
typename T,
typename... Args>
118 size_t Idx,
typename Type,
template <
size_t,
typename>
class Bundle,
119 template <
typename,
typename...>
class Container,
typename Intp,
120 typename... ExtraArgs,
121 typename std::enable_if<std::is_integral<Intp>::value ||
122 std::is_same<Intp, TIMEMORY_NATIVE_COMPONENT>::value,
125insert(Bundle<Idx, Type>& obj,
const Container<Intp, ExtraArgs...>&
components);
127template <
typename T,
typename... Args>
132 insert(*obj, std::forward<Args>(args)...);
152 typename Bundle_t,
template <
typename,
typename...>
class Container,
typename Intp,
153 typename... ExtraArgs,
typename... Args,
154 typename std::enable_if<std::is_integral<Intp>::value ||
155 std::is_same<Intp, TIMEMORY_NATIVE_COMPONENT>::value,
160template <
typename Bundle,
typename EnumT = int,
typename... Args>
164template <
typename Bundle,
typename... Args>
168template <
typename Bundle,
typename... ExtraArgs,
169 template <
typename,
typename...>
class Container,
typename... Args>
173template <
typename Bundle,
typename... Args>
177template <
typename Bundle,
template <
typename,
typename...>
class Container,
178 typename... ExtraArgs,
typename... Args>
182template <
typename Bundle,
typename... Args>
191template <
typename Tp,
typename Arg,
typename... Args>
195template <
typename Tp,
typename Arg,
typename... Args>
197insert(Tp& obj,
int idx, Arg&&, Args&&...);
199template <
typename Tp,
typename Arg,
typename... Args>
201configure(
int idx, Arg&&, Args&&... args);
203template <
typename Tp,
typename Arg,
typename... Args>
205configure(Tp& obj,
int idx, Arg&&, Args&&... args);
213template <
typename Tp>
217template <
typename Tp>
221template <
typename Tp>
225template <
typename Tp>
229template <
typename Tp>
233template <
typename Tp>
237template <
typename Tp>
249template <
template <
typename...>
class CompList,
typename... CompTypes,
250 typename std::enable_if<
sizeof...(CompTypes) != 0,
int>::type = 0>
261template <
template <
typename...>
class CompList,
typename... CompTypes,
262 typename std::enable_if<
sizeof...(CompTypes) == 0,
int>::type = 0>
269template <
typename T,
typename... Args>
274 initialize(*obj, std::forward<Args>(args)...);
279template <
size_t Idx,
typename Type,
template <
size_t,
typename>
class Bundle>
289template <
typename T,
typename... Args>
294 insert(*obj, std::forward<Args>(args)...);
299template <
typename Bundle,
typename... Args>
305 std::forward<Args>(args)...);
void insert(Bundle< Idx, Type > &obj, const std::string &env_var, const std::string &default_env)
void initialize(CompList< CompTypes... > &obj, const std::string &env_var, const std::string &default_env)
void configure(const std::string &env_var, const std::string &default_env, Args &&... args)
_reported insert(_hash_id)
int enumerate(const std::string &key)
void insert(Tp &obj, int idx, Arg &&arg, Args &&... args)
void initialize(Tp &obj, int idx, Arg &&arg, Args &&... args)
void configure(int idx, Arg &&arg, Args &&... args)
void configure(std::initializer_list< EnumT > components, Args &&... args)
void initialize(CompList< CompTypes... > &obj, std::initializer_list< EnumT > components)
std::vector< TIMEMORY_COMPONENT > enumerate_components(const Container< StringT, ExtraArgs... > &component_names)
description: use this function to generate an array of enumerations from a list of string that can be...
Tp get_env(const std::string &env_id, Tp _default, bool _store)
tim::mpl::apply< std::string > string
ContainerT delimit(const std::string &line, const std::string &delimiters="\"',;: ", PredicateT &&predicate=[](const std::string &s) -> std::string { return s;})
this data type encodes the options of storage scope. The default is hierarchical (tree) scope....