20 #ifndef __utl_meta_selection_h__ 21 #define __utl_meta_selection_h__ 43 template <
bool If,
typename...>
47 template<
typename Then>
51 template<
typename Then,
typename Else>
55 template<
typename Then,
typename Else>
61 template <
bool B,
typename... Args>
65 template <
typename If,
typename... Args>
66 using if_ =
if_c<If::type::value, Args...>;
76 template <
typename T1,
typename ...>
using first_of = T1;
79 template <
typename T1,
typename T2,
typename ...>
using second_of = T2;
T1 first_of
Select the first type of a type sequence.
if_c< If::type::value, Args... > if_
Select one type or another depending on a compile-time Boolean type.
eval< detail::if_c_< B, Args... > > if_c
Select one type or another depending on a compile-time Boolean.
T2 second_of
Select the second type of a type sequence.
STL's core language concepts.
Implementation detail main forward header.