title: Concatenating strings (and numbers) in variadic template function
body: <p>I am attempting to write a function that takes a variety of strings or numbers (that work with <code>std::to_string</code> and concatenate them. I've got it working with just strings, but I am having trouble with specializing depending on input as string or number.</p>
  
  <p>My code is called like this:</p>
  
  <p><code>stringer("hello", "world", 2, 15, 0.2014, "goodbye", "world")</code></p>
  
  <p>And here is what I've got:</p>
  
  <pre><code>inline std::string stringer(const std::string &amp;string)
  {
      return string;
  }
  
  template &lt;typename T, typename... Args&gt;
  inline std::string stringer(const std::string &amp;string, T &amp;&amp;val, Args &amp;&amp;...args)
  {  
      return stringer(string+std::to_string(val), std::forward&lt;Args&gt;(args)...);
  }
  
  template &lt;typename... Args&gt;
  inline std::string stringer(const std::string &amp;string, Args &amp;&amp;...args)
  {
      return stringer(string, std::forward&lt;Args&gt;(args)...);
  }
  </code></pre>
  
  <p>Currently it is breaking on any more than one string added unless the following are all numbers (due to the to_string). How can I specialize based on string or number to make the above work? Thanks. </p>