Dotan, in >>> barPolicy = GetBarWithPolic(Io) >>> barPolicy = GetBarWithPolic(File) what type of object would you imaginge `Io` and `File` to be?
You already exported the functions as `GetBarWithPolicIo` and `GetBarWithPolicFile` and then you could implement in python `GetBarWithPolic(str)` and there use something like `return globals()["GetBarWithPolic%s" % (str,)]()` where you would now do barPolicy = GetBarWithPolic("Io") barPolicy = GetBarWithPolic("File") -Holger On Sun, Mar 17, 2013 at 6:49 AM, dbarak <dba...@gmail.com> wrote: > Assume I have this Interface: > class FooInterface > { > public: > ... > > }; > > class FooFilePolicy : public FooInterface > { > ... > }; > > class FooIoPolicy : public FooInterface > { > ... > }; > > And I have this template using the upper interface policy: > > template< typename FooPolicy > > class BarWithPolicy > { > ... > FooPolicy* policy; > ... > }; > > How can I expose BarWithPolicy to python that can be generically instantiate > with both FooIoPolicy and FooFilePolicy ? > > > I don't want to do this : > > BarWithPolicy<FooFilePolicy >& GetBarWithPolicyFile() > { > return new BarWithPolicy<FooFilePolicy >; > } > > BarWithPolicy<FooIoPolicy>& GetBarWithPolicyIo() > { > return new BarWithPolicy<FooIoPolicy >; > } > > BOOST_PYTHON_MODULE(PyBar) > { > def("GetBarWithPolicyFile", > &GetBarWithPolicyFile, > return_value_policy<reference_existing_object>(), > "" > ); > def("GetBarWithPolicyIo", > &GetBarWithPolicyIo, > return_value_policy<reference_existing_object>(), > "" > ); > } > > I would like to have some thing like this in python: > >>>> barPolicy = GetBarWithPolic(Io) > Or >>>> barPolicy = GetBarWithPolic(File) > > Thanks > -Dotan > > > > > > -- > View this message in context: > http://boost.2283326.n4.nabble.com/Exposing-c-class-template-to-Python-known-template-instances-tp4644238.html > Sent from the Python - c++-sig mailing list archive at Nabble.com. > _______________________________________________ > Cplusplus-sig mailing list > Cplusplus-sig@python.org > http://mail.python.org/mailman/listinfo/cplusplus-sig _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig