title: boost python make_constructor with default arguments
body: <p>I have a class that I want to be passed around by <code>shared_ptr</code>. As such, I want it to get constructed with a factory method:</p>
  
  <pre><code>py::class_&lt;MyClass, boost::shared_ptr&lt;MyClass&gt;&gt;("MyClass")
      .def("__init__", py::make_constructor(MyClass::factory))
  ;
  </code></pre>
  
  <p>This worked when <code>factory()</code> just took 2 arguments. But now I want it to take 2 or 3. So I used the overload macro</p>
  
  <pre><code>BOOST_PYTHON_FUNCTION_OVERLOADS(MyClass_factory_overloads, MyClass::factory, 2, 3)
  </code></pre>
  
  <p>But how do I pass that into <code>make_constructor</code>? </p>