I hereby claim:
- I am dhh1128 on github.
- I am danielhardman (https://keybase.io/danielhardman) on keybase.
- I have a public key ASC5mGC4Dkg3IL-cTVqannhJNbbJnaWCAEu4CZfnXcgiVAo
To claim this, I am signing this object:
// Define two overrides that can be used by the expansion of | |
// our main macro. | |
#define _MY_CONCAT3(a, b, c) a b c | |
#define _MY_CONCAT2(a, b) a b | |
// Define a macro that uses the "paired, sliding arg list" | |
// technique to select the appropriate override. You should | |
// recognize this as similar to the GET_NTH_ARG() macro in | |
// previous examples. | |
#define _GET_OVERRIDE(_1, _2, _3, NAME, ...) NAME |
// Accept any number of args >= N, but expand to just the Nth one. | |
// Here, N == 6. | |
#define _GET_NTH_ARG(_1, _2, _3, _4, _5, N, ...) N | |
// Define some macros to help us create overrides based on the | |
// arity of a for-each-style macro. | |
#define _fe_0(_call, ...) | |
#define _fe_1(_call, x) _call(x) | |
#define _fe_2(_call, x, ...) _call(x) _fe_1(_call, __VA_ARGS__) | |
#define _fe_3(_call, x, ...) _call(x) _fe_2(_call, __VA_ARGS__) |
#define eprintf(fmt, ...) \ | |
fprintf(stderr, fmt, ##__VA_ARGS__) |
I hereby claim:
To claim this, I am signing this object: