namespace
UtilityModule containing general purpose and language support utility classes.
Classes
-
template<class ...>struct Extract
- Template metafunction for extracting types from tuple structures.
-
template<class T, class ... Ts>struct Extract<Tuple<T, Ts...>>
- Specialization of Extract for Tuple types.
-
template<class T>struct Make
- Factory template for perfect forwarding construction.
-
template<class... Ts>struct Overloaded
- Helper type for creating overloaded function objects from lambdas.
-
template<class ... Params>class ParameterPack
- Template metaprogramming utilities for parameter packs.
-
template<class ...>struct Product
- Metafunction to compute the Cartesian product of two Tuple type-lists.
-
template<class H, class ... Gs>struct Product<Tuple<H>, Tuple<Gs...>>
- Tuple has exactly one element.
-
template<class H1, class H2, class ... Hs, class ... Gs>struct Product<Tuple<H1, H2, Hs...>, Tuple<Gs...>>
- Tuple has at least two elements (H1, H2, Hs…).