title: How to delegate all methods of a c++ part object to its composite object
body: <p>How can I delegate all methods of a part object to the composite class without using a get() method and call it on the Composition object:</p>
  
  <p>Example:</p>
  
  <pre><code>struct Part {
    void f() {};
    int g(double &amp;v) { v = 2; return 3; }
  };
  
  struct Composition {
    Part part;
  };
  </code></pre>
  
  <p>The Composition class should be able to be used in this way:</p>
  
  <pre><code>Composition p;
  p.f()
  int a = p.g(2.0)
  </code></pre>
  
  <p>Additionally I want use boost::bind in this way:</p>
  
  <pre><code>boost::bind(&amp;Composition:f, this) 
  </code></pre>