How would I write a function that takes a #defineable number of arguments for this (or alternatively or in addition, uses c++0x variadic arguments/templates). Could you fill in the gaps?
e.g.
template <class ARG1, ARG2, ...>
? join_args(?ARG1? a1, ?ARG2? a2, ...>
(
return join(a1, join(a2, join(?)));
);
AND/OR
template <class... ARGS>
? join_args(ARGS&&... args)
{
?
};