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 doesnt 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