Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2002-08-13 12:17:30


Hi everybody,

I'm looking for a clever trick, if anyone can come up with it...
In v2 of the Boost.Python library, when users define a class wrapper, it
looks something like this:

    class_<X>("X")
        .def_init(args<int, char*>()) // constructor
        .def("foo", &X::foo) // member function
        ;

Each of class_<>'s member functions returns *this to allow the chaining
idiom shown above.

What I'd like is to be able to generate a compiler warning or error if the
user fails to call the def_init() member function somewhere in the chain.
Any ideas?

Thanks,
Dave

-----------------------------------------------------------
           David Abrahams * Boost Consulting
dave_at_[hidden] * http://www.boost-consulting.com


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk