|
NGen
|
Classes | |
| struct | bool_pack |
| struct | type_list |
Typedefs | |
| template<bool B> | |
| using | bool_constant = std::integral_constant<bool, B> |
| template<bool... Bs> | |
| using | conjunction = std::is_same<bool_pack<true, Bs...>, bool_pack<Bs..., true>> |
| template<bool... Bs> | |
| using | disjunction = bool_constant<!conjunction<!Bs...>::value> |
| template<typename T , typename... Ts> | |
| using | all_is_same = conjunction<std::is_same<Ts, T>::value...> |
Check that all types {Ts} are the same as {T}. | |
| template<typename To , typename... From> | |
| using | all_is_convertible = conjunction<std::is_convertible<From, To>::value...> |
Checks that all types {From} are convertible to {T}. | |
| template<typename From , typename... To> | |
| using | is_convertible_to_any = disjunction<std::is_convertible<From, To>::value...> |
Checks that {From} is convertible to any types in {To}. | |
| template<typename T , typename... Ts> | |
| using | is_same_to_any = disjunction<std::is_same<T, Ts>::value...> |
Checks that {T} is the same as at least one of {Ts}. | |
| using ngen::traits::all_is_convertible = conjunction<std::is_convertible<From, To>::value...> |
Checks that all types {From} are convertible to {T}.
| To | Type to constrain to |
| From | Types to check |
| using ngen::traits::all_is_same = conjunction<std::is_same<Ts, T>::value...> |
Check that all types {Ts} are the same as {T}.
| T | Type to constrain to |
| Ts | Types to check |
| using ngen::traits::bool_constant = std::integral_constant<bool, B> |
| using ngen::traits::conjunction = std::is_same<bool_pack<true, Bs...>, bool_pack<Bs..., true>> |
| using ngen::traits::disjunction = bool_constant<!conjunction<!Bs...>::value> |
| using ngen::traits::is_convertible_to_any = disjunction<std::is_convertible<From, To>::value...> |
Checks that {From} is convertible to any types in {To}.
| From | Type to constrain to |
| To | Types to check |
| using ngen::traits::is_same_to_any = disjunction<std::is_same<T, Ts>::value...> |
Checks that {T} is the same as at least one of {Ts}.
| T | Type to check |
| Ts | Types to contrain to |