title: How useful would Inheriting Constructors be in C++?
body: <p>As I sit in the C++ Standards committee meetings, they are discussing the pros and cons of dropping <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2512.html" rel="noreferrer">Inheriting Constructors</a> since no compiler vendor has implemented it yet (the sense being users haven't been asking for it).</p>
  
  <p>Let me quickly remind everyone what inheriting constructors are:  </p>
  
  <pre><code>struct B
  {
     B(int);
  };
  
  struct D : B
  {
    using B::B;
  };
  </code></pre>
  
  <p>Some vendors are proposing that with r-value references and variadic templates (perfect forwarding constructors), it would be trivial to provide a forwarding constructor in the inheriting class that would obviate inheriting constructors.</p>
  
  <p>For e.g.:</p>
  
  <pre><code>struct D : B
  {
    template&lt;class ... Args&gt; 
      D(Args&amp;&amp; ... args) : B(args...) { } 
  };
  </code></pre>
  
  <p>I have two questions:  </p>
  
  <p>1) Can you provide real world (non-contrived) examples from your programming experience that would benefit significantly from inheriting constructors?</p>
  
  <p>2) Are there any technical reasons you can think of that would preclude "perfect forwarding constructors" from being an adequate alternative?</p>
  
  <p>Thanks!</p>