36 #ifndef NANO_HIGHER_ORDER_FUNCTIONS
37 #define NANO_HIGHER_ORDER_FUNCTIONS
52 template <
template <
typename...>
class Evaluator,
typename List1,
typename List2,
typename Passed>
56 template <
template <
typename,
typename>
class Evaluator ,
64 using passed =
typename std::conditional<
66 list<Passed..., Head1> ,
73 Evaluator<Head1,
list<Head2, Tail2...>>::constant_list ,
74 list<Head2, Tail2...> ,
82 template <
template <
typename,
typename>
class Evaluator ,
101 template <
template <
typename...>
class Evaluator ,
108 template <
template <
typename...>
class Evaluator ,
116 using passed =
typename std::conditional<
117 Evaluator<Head1, Head2>::result ,
127 template <
template <
typename...>
class Evaluator,
typename... Passed>
136 #endif // NANO_HIGHER_ORDER_FUNCTIONS
Header file for the list metaclass to provide compile time lists.
typename std::conditional< Evaluator< Head1, Head2 >::result, list< Passed..., list< Head1, Head2 >>, list< Passed...> >::type passed
Definition: higher_order_functions.hpp:120
Takes two lists, and zips the corresponding elements into a list of 2 elements if the function to det...
Definition: higher_order_functions.hpp:105
typename std::conditional< Evaluator< Head1, list< Head2, Tail2...>>::constant_list, list< Head2, Tail2...>, list< Tail2...> >::type filter_list
Definition: higher_order_functions.hpp:76
typename std::conditional< Evaluator< Head1, list< Head2, Tail2...>>::result, list< Passed..., Head1 >, list< Passed...> >::type passed
Definition: higher_order_functions.hpp:68
typename filter< Evaluator, list< Tail1...>, filter_list, passed >::result result
Definition: higher_order_functions.hpp:78
Definition: containers.hpp:34
Meta class that holds types, and allows functions to be applied to the elements of the list using the...
Definition: list.hpp:51
Takes a list and an evaluation function, which itself takes the list and a parameter to evaluate if e...
Definition: higher_order_functions.hpp:53
typename zip< Evaluator, list< Tail1...>, list< Tail2...>, passed >::result result
Definition: higher_order_functions.hpp:123