Commit ce09e7e3 authored by Victor Zverovich's avatar Victor Zverovich

Simplify FMT_FOR_EACH.

parent e4c24753
...@@ -2173,10 +2173,6 @@ inline void FormatDec(char *&buffer, T value) { ...@@ -2173,10 +2173,6 @@ inline void FormatDec(char *&buffer, T value) {
# pragma GCC system_header # pragma GCC system_header
#endif #endif
#define FMT_CONCATENATE(arg1, arg2) FMT_CONCATENATE1(arg1, arg2)
#define FMT_CONCATENATE1(arg1, arg2) FMT_CONCATENATE2(arg1, arg2)
#define FMT_CONCATENATE2(arg1, arg2) arg1##arg2
// This is used to work around VC++ bugs in handling variadic macros. // This is used to work around VC++ bugs in handling variadic macros.
#define FMT_EXPAND(args) args #define FMT_EXPAND(args) args
...@@ -2187,7 +2183,8 @@ inline void FormatDec(char *&buffer, T value) { ...@@ -2187,7 +2183,8 @@ inline void FormatDec(char *&buffer, T value) {
#define FMT_ARG_N(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, N, ...) N #define FMT_ARG_N(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, N, ...) N
#define FMT_RSEQ_N() 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 #define FMT_RSEQ_N() 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
#define FMT_FOR_EACH_(N, func, ...) FMT_CONCATENATE(FMT_FOR_EACH, N)(func, __VA_ARGS__) #define FMT_CONCAT(a, b) a##b
#define FMT_FOR_EACH_(N, f, ...) FMT_CONCAT(FMT_FOR_EACH, N)(f, __VA_ARGS__)
#define FMT_FOR_EACH(f, ...) \ #define FMT_FOR_EACH(f, ...) \
FMT_EXPAND(FMT_FOR_EACH_(FMT_NARG(__VA_ARGS__), f, __VA_ARGS__)) FMT_EXPAND(FMT_FOR_EACH_(FMT_NARG(__VA_ARGS__), f, __VA_ARGS__))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment