Go to the documentation of this file. 1#ifndef TATOOINE_PREPROCESSOR_MAP_H
2#define TATOOINE_PREPROCESSOR_MAP_H
4#include <tatooine/preprocessor/apply_f.h>
5#include <tatooine/preprocessor/apply_f2.h>
9#include <tatooine/preprocessor/num_args.h>
11#define TATOOINE_PP_MAP(f, ...) \
12 TATOOINE_PP_IF(TATOOINE_PP_NOT_EMPTY_VARIADIC(__VA_ARGS__), \
13 TATOOINE_PP_MAP_I(f, __VA_ARGS__))
15#define TATOOINE_PP_MAP_I(f, ...) \
16 TATOOINE_PP_INVOKE(TATOOINE_PP_CONCAT(TATOOINE_PP_APPLY_F_, \
17 TATOOINE_PP_NUM_ARGS(__VA_ARGS__)), \
20#define TATOOINE_PP_MAP2(f, ...) TATOOINE_PP_MAP2_I(f, __VA_ARGS__)
22#define TATOOINE_PP_MAP2_I(f, ...) \
23 TATOOINE_PP_INVOKE(TATOOINE_PP_CONCAT(TATOOINE_PP_APPLY_F2_, \
24 TATOOINE_PP_NUM_ARGS(__VA_ARGS__)), \