title: Variadic macro trick
body: <p>What's the trick to create a variadic macro <code>FOO(a1, a2, a3,..., an)</code> such that it expands to <code>FOOn(a1, a2, a3,..., an)</code> for values of <code>n</code> in whatever preselected bounded range you choose? That is, <code>FOO(a)</code> should expand to <code>FOO1(a)</code>, <code>FOO(a, b, c)</code> to <code>FOO3(a, b, c)</code>, etc. I know there's a standard trick but I can't seem to find it.</p>
  
  <p>Please feel free to mark this question as a duplicate and close it if there's another question with the answer. I suspect there is but I couldn't find it.</p>