Lines Matching +full:- +full:f
30 * Implements the higher-order Map function in the C Pre-Processor.
35 * [1] https://github.com/swansontec/map-macro SHA:383c38e9
36 * [2] http://jhnet.co.uk/articles/cpp_magic#turning-recursion-into-an-iterator
37 * [3] https://en.wikipedia.org/wiki/Map_(higher-order_function)
61 #define MAP0(f, x, peek, ...) f(x) MAP_NEXT(peek, MAP1)(f, peek, __VA_ARGS__) argument
62 #define MAP1(f, x, peek, ...) f(x) MAP_NEXT(peek, MAP0)(f, peek, __VA_ARGS__) argument
67 #define MAP_LIST0(f, x, peek, ...) f(x) MAP_LIST_NEXT(peek, MAP_LIST1)(f, peek, __VA_ARGS__) argument
68 #define MAP_LIST1(f, x, peek, ...) f(x) MAP_LIST_NEXT(peek, MAP_LIST0)(f, peek, __VA_ARGS__) argument
71 * Applies the function macro `f` to each of the remaining parameters.
73 #define MAP(f, ...) EVAL(MAP1(f, __VA_ARGS__, ()()(), ()()(), ()()(), 0)) argument
76 * Applies the function macro `f` to each of the remaining parameters and
79 #define MAP_LIST(f, ...) EVAL(MAP_LIST1(f, __VA_ARGS__, ()()(), ()()(), ()()(), 0)) argument