
Hi, A class has static method to create and a static method to destroy. And the constructors and destructor of the class is marked as private. How do I expose such a class in Python? Eg. class A { private: static A* instance; A() { }; ~A {}; public: static A* create () { If(instance != 0) instance = new A(); return instance; } static void destroy() { delete instance; instance = 0; } }; In Boost Python, I tried the following but the code doesn't compile unless I make the destructor of class A as public. namespace bp = boost::python; bp::class_<A> ("A", bp::no_init) .def("create", &A::create) .def("destroy", &A::destroy) .staticmethod("create") .staticmethod("destroy") ; Any suggestions? Thanks Kumar