4 #define METHOD__(...) __VA_ARGS__
5 #define METHOD_0(F,A) F METHOD__(A)
8 #define METHOD_1(F,A) F(METHOD__ A)
11 #define METHOD_2(F,...) F __VA_ARGS__##[0]
14 #define METHOD_3(F,...) F __VA_ARGS__
17 METHOD_0(print, ("Method", " <zero>\n"));
18 METHOD_1(print, ("Method", " <one>\n"));
19 METHOD_2(print, ("Method", " <two>\n"));
20 METHOD_3(print, ("Method", " <three>\n"));