/* * How do these macros work? * * In __COUNT_ARGS() _0 to _12 are just placeholders from the start * in order to make sure _n is positioned over the correct number * from 12 to 0 (depending on X, which is a variadic argument list). * They serve no purpose other than occupying a position. Since each * macro parameter must have a distinct identifier, those identifiers * are as good as any. * * In COUNT_ARGS() we use actual integers, so __COUNT_ARGS() returns * that as _n.
*/