Boost logo

Boost :

From: Prabhu Ramachandran (prabhu_at_[hidden])
Date: 2000-10-31 12:30:26


>>>>> "David" == David Abrahams <abrahams_at_[hidden]> writes:

>> This works fine. I'd appreciate a change in the docs that
>> reflect this. It was a pain assuming that the docs were right
>> and looking for other non-existent errors.

    David> I appreciate that. Thanks for tracking this bug down. I
    David> think this is an old usage that used to be supported but is
    David> not any longer and hasn't been tested recently. Consider it
    David> fixed.

    David> world_callback* is missing, causing the error. I could do
    David> something to make the other usage work, but I'm not sure
    David> it's worth it. My feeling is that one way to do it is
    David> enough, (provided that it's correctly documented, of course
    David> ;-))

I agree. One way is enough. And this callback thing is really cool.
I cant begin to imagine the things you can do with liraries. Derive
new classes under python and still allow the original c++ functions to
use these derived classes from within python. Wow!!

>> (2) Given a class library, it is normal for a useful concrete
>> class to have a large inheritance. Currently, with py_cpp, if
>> painful. Is there a way out of this? Or is this impossible to
>> implement? Or am I missing something.

    David> You're missing the as-yet-undocumented construct
    David> "class_B.declare_base(class_A)" which was implemented by
    David> Ullrich Koethe. I am going to make a new release today that
    David> includes documentation for this feature.

Wow! Cool. Just checked it out. It works fine for my simple test
case, but does it recurse right thru? i.e. A<-B<-C<-D. So will D be
able to call a method defined way back in A? I guess so, just
checking. Also, how about multiple inheritance?? Do you just say

class_B.declare_base (class_A, class_C);
or is it
class_B.declare_base (class_A);
class_B.declare_base (class_C);

Thanks! I am getting to enjoy my testing py_cpp. :)


Boost list run by bdawes at, gregod at, cpdaniel at, john at