38#include <initializer_list>
40#include <unordered_set>
48template <
typename Bundle,
typename EnumT,
typename... Args>
52 configure<Bundle>(std::vector<EnumT>(
components), std::forward<Args>(args)...);
57template <
typename Bundle,
typename... Args>
68template <
typename Bundle,
typename... ExtraArgs,
69 template <
typename,
typename...>
class Container,
typename... Args>
80template <
typename Bundle,
typename... Args>
85 std::forward<Args>(args)...);
91 typename Bundle,
template <
typename,
typename...>
class Container,
typename Intp,
92 typename... ExtraArgs,
typename... Args,
93 typename std::enable_if<std::is_integral<Intp>::value ||
94 std::is_same<Intp, TIMEMORY_NATIVE_COMPONENT>::value,
100 runtime::configure<Bundle>(itr, std::forward<Args>(args)...);
105template <
typename Bundle,
template <
typename,
typename...>
class Container,
106 typename... ExtraArgs,
typename... Args>
110 std::unordered_set<std::string> _components;
113 configure<Bundle>(_components, std::forward<Args>(args)...);
118template <
typename Bundle,
typename... Args>
122 for(
int i = 0; i < ncomponents; ++i)
123 runtime::configure<Bundle>(
components[i], std::forward<Args>(args)...);
void configure(std::initializer_list< EnumT > components, Args &&... args)
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;})