37#include <initializer_list>
50template <
template <
typename...>
class CompList,
typename... CompTypes,
60template <
template <
typename...>
class CompList,
typename... CompTypes>
69template <
template <
typename...>
class CompList,
typename... CompTypes,
70 typename... ExtraArgs,
template <
typename,
typename...>
class Container>
73 const Container<std::string, ExtraArgs...>&
components)
82template <
template <
typename...>
class CompList,
typename... CompTypes>
92 template <
typename...>
class CompList,
typename... CompTypes,
93 template <
typename,
typename...>
class Container,
typename Intp,
94 typename... ExtraArgs,
95 typename std::enable_if<std::is_integral<Intp>::value ||
96 std::is_same<Intp, TIMEMORY_NATIVE_COMPONENT>::value,
107template <
template <
typename...>
class CompList,
typename... CompTypes,
108 template <
typename,
typename...>
class Container,
typename... ExtraArgs>
111 const Container<const char*, ExtraArgs...>&
components)
113 std::vector<std::string> _components;
122template <
template <
typename...>
class CompList,
typename... CompTypes>
126 for(
int i = 0; i < ncomponents; ++i)
void initialize(Tp &obj, int idx, Arg &&arg, 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...
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;})