title: C++: Can a macro expand "abc" into 'a', 'b', 'c'?
body: <p>I've written a variadic template that accepts a variable number of <code>char</code> parameters, i.e.</p>
  
  <pre><code>template &lt;char... Chars&gt;
  struct Foo;
  </code></pre>
  
  <p>I was just wondering if there were any macro tricks that would allow me to instantiate this with syntax similar to the following:</p>
  
  <pre><code>Foo&lt;"abc"&gt;
  </code></pre>
  
  <p>or</p>
  
  <pre><code>Foo&lt;SOME_MACRO("abc")&gt;
  </code></pre>
  
  <p>or</p>
  
  <pre><code>Foo&lt;SOME_MACRO(abc)&gt;
  </code></pre>
  
  <p>etc.</p>
  
  <p>Basically, anything that stops you from having to write the characters individually, like so</p>
  
  <pre><code>Foo&lt;'a', 'b', 'c'&gt;
  </code></pre>
  
  <p>This isn't a big issue for me as it's just for a toy program, but I thought I'd ask anyway.</p>