#ifndef TYPEASVALUE_SRC_LIST_OPERATION_HIGHER_FIND_H_ #define TYPEASVALUE_SRC_LIST_OPERATION_HIGHER_FIND_H_ #include "type.h" #include "conditional/if.h" namespace tav { template < template class Predicate, typename Current > struct Find { typedef typename If< Predicate>::type::value, Head, typename Find>::type >::type type; }; template < template class Predicate > struct Find { typedef Boolean type; }; } #endif // TYPEASVALUE_SRC_LIST_OPERATION_HIGHER_FIND_H_