diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/list/operation/higher/query.h | 9 | ||||
-rw-r--r-- | src/operation/logic.h | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/list/operation/higher/query.h b/src/list/operation/higher/query.h index 56bb203..34d05cb 100644 --- a/src/list/operation/higher/query.h +++ b/src/list/operation/higher/query.h @@ -1,6 +1,7 @@ #ifndef TYPEASVALUE_SRC_LIST_OPERATION_HIGHER_QUERY_H_ #define TYPEASVALUE_SRC_LIST_OPERATION_HIGHER_QUERY_H_ +#include "fold.h" #include "operation/logic.h" namespace tav { @@ -25,6 +26,14 @@ using All = Fold< typename Map<Function, List>::type >; +template < + template<typename> class Function, + typename List +> +using None = Not< + typename Any<Function, List>::type +>; + } #endif // TYPEASVALUE_SRC_LIST_OPERATION_HIGHER_QUERY_H_ diff --git a/src/operation/logic.h b/src/operation/logic.h index 23393b2..3e447d6 100644 --- a/src/operation/logic.h +++ b/src/operation/logic.h @@ -23,6 +23,9 @@ template < > using Xor = Boolean<X::value ^ Y::value>; +template <typename X> +using Not = Boolean<!X::value>; + } #endif // TYPEASVALUE_SRC_OPERATION_LOGIC_H_ |