template<typename... Traits>
TraitHolder struct
Public types
-
template<typename... T>using With = TraitHolder<Traits..., T...>
-
template<typename... T>using WithPre = TraitHolder<T..., Traits...>
-
template<typename... T>using has = std::conjunction<has_trait<T>...>
-
template<typename... T>using has_any = std::disjunction<has_trait<T>...>
-
template<typename... T>using Without = WithoutTraits<TraitHolder<Traits...>, T...>
Protected types
-
template<typename T>using has_trait = std::disjunction<traits_
match<T, Traits>...>