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