diff --git a/misc/traits.h b/misc/traits.h index fb8aa49..1c563fa 100644 --- a/misc/traits.h +++ b/misc/traits.h @@ -21,6 +21,9 @@ using Not = Bool; template struct Any : Bool {}; +template +struct Any : Conditional, Any > {}; + template struct All : Bool {}; @@ -33,6 +36,12 @@ using EnableIf = typename std::enable_if::value, Detail::Enabl template using DisableIf = typename std::enable_if::value, Detail::Enabler>::type; +template +using EnableIfAny = typename std::enable_if::value, Detail::Enabler>::type; + +template +using DisableIfAny = typename std::enable_if::value, Detail::Enabler>::type; + } #endif // CPP_UTILITIES_TRAITS_H