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)

            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