title: universal references and overloads
body: <p>Say I have two overloads of a method in a class, <code>set_value</code> which each take a universal reference. I'd like to have one function call the other to avoid code duplication, but I'm not sure which is the correct way to give the universal reference to the other function.</p>
  
  <pre><code>template &lt;typename U&gt;
  void set_value(U&amp;&amp; value) {
      this-&gt;value_ = std::forward&lt;U&gt;(value);
  }
  
  template &lt;typename U&gt;
  void set_value(U&amp;&amp; value, int overloaded) {
      // which is the correct way to use the other `set_value` overload?
      set_value(value); // just use value directly?
      set_value(std::forward&lt;U&gt;(value)); // or should I forward it?
  }
  </code></pre>