|
Boost : |
From: Scott Snyder (snyder_at_[hidden])
Date: 2001-12-05 01:27:25
>>>>> "David" == David Abrahams <david.abrahams_at_[hidden]> writes:
David> Thanks very much for your patches. At first glance they
David> look good. There are a few things that need to be done to
David> make them complete patches for the library:
David> 1. Patches for libs/python/test/comprehensive.cpp and
David> libs/python/test/comprehensive.py to test the new features
David> 2. Patches for the Boost.Python documentation to advertise
David> them ;-)
Ok, thanks for looking at this. I'll work on doing that as soon
as i get a chance (sometime this week, i hope).
At a quick glance, it looks like the html files themselves are the master
files for the documentation (i.e, not derived from something more structured).
Correct?
David> Also, it looks like the static member accessor patch should
David> really also patch the getattr/setattr capabilities of the
David> object's extension_class, don't you think?
Likely so; i'll look at it.
To back up a little, i've been playing with trying to generate the
boost wrapper code (mostly) automatically, as a result of parsing
the C++ headers. One difficultly i've been running into that doesn't
seem to have a good solution has to do with overload resolution: in some
cases, the algorithm used by boost gets a different result than C++ would.
For example, in
struct A {};
struct B : public A {};
void foo (const A&);
void foo (const B&);
foo (B())
boost ends up calling the first foo(), while C++ would call the second.
To some extent, this can be worked around by ensuring that the methods
are declared to boost in the proper order --- but this isn't completely
satisfactory, first, because it doesn't scale well for large interfaces,
and second, because it doesn't work in general (for example, in the case
where you have two types, each of which is convertable to the other).
I don't see any way to solve this in general, though, without major
changes in how the overload resolution works.
thanks,
sss
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk