#include <iostream>

namespace dbj {
 /* 
  print() non recursive version
 also with no format token, because it is tedious for
 when there is a lot of them to remember on the right
 of the format sentence what values to provide and in which order
 */
  template<typename... Targs>
   inline void print (Targs... args)
  {
    if (sizeof...(Targs) > 0) {
     // since initializer lists guarantee sequencing, this can be used to
     // call a function on each element of a pack, in order:
    char dummy[sizeof...(Targs)] = { ( (std::cout << args), 0)... };
    }
}
}

int main() {
 dbj::print ("\nANSI", "\nUnicode ₠ ₡ ₢ ₣ ₤ ₥ ₦ ₧ ₨ ₩ ₪ ₫" );
 return 0;
}