#ifndef TYPEASVALUE_SRC_LIST_OPERATION_HIGHER_QUERY_H_ #define TYPEASVALUE_SRC_LIST_OPERATION_HIGHER_QUERY_H_ #include "fold.h" #include "map.h" #include "operation/math.h" #include "operation/logic.h" namespace tav { template < template class Predicate, typename List > using Any = Fold< Or, Boolean, Eval> >; template < template class Predicate, typename List > using All = Fold< And, Boolean, Eval> >; template < template class Predicate, typename List > using None = Not< Eval> >; template < template class Predicate, typename List > using Count = Fold< Add, tav::Size<0>, Eval> >; } #endif // TYPEASVALUE_SRC_LIST_OPERATION_HIGHER_QUERY_H_