Boost logo

Boost :

From: Jon Wray (jwray_at_[hidden])
Date: 2002-08-13 12:58:16


Instead of having def_init, can you add a second parameter to the
constructor of class_?

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

Jon

-----Original Message-----
From: David Abrahams [mailto:dave_at_[hidden]]
Sent: Tuesday, August 13, 2002 10:18 AM
To: boost
Subject: [boost] Error if member function not called?

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

_______________________________________________
Unsubscribe & other changes:
http://lists.boost.org/mailman/listinfo.cgi/boost


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