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 |