[C++-sig] Outstanding Jobs for v2 release

David Abrahams david.abrahams at rcn.com
Wed Jul 10 13:55:00 CEST 2002


From: "Achim Domma" <achim.domma at syynx.de>


> Hi Dave,
>
> I'm sorry to tell you, that I failed. I attached the files I produced so
> far, but trying to write tests with it I got lots of errors which I don't
> managed to solve.

Don't give up now; just ask some questions (unless you're out of time)!

> Tuple seems to be used already in the creation of classes.
> Trying to replace it with my tuple class, I got lots of problems
converting
> between handle, object and so on.

You mean in class_base::class_base?
That usage could be replaced by handle<> bases(PyTuple_New(...)) and
regular calls to the Python 'C' API.

> I hope the files will be of some help anyway,

They mostly look pretty good to me.

> but I think until I improve my
> knowledge of boost.python someone else should overtake this task.
> If I understand boost.python somewhat better I would be glad to give it
> another try, but at the moment I think I'm not good enough.

Well, I don't think it should be too difficult. I should have given you the
following recommendations which would make it easier:

1. Try to replace and test just a single type at a time. Start with dict,
for example. Trying to replace large portions of a codebase tends to
destabilize it and make testing more difficult.

2. The v1 tuple interface has these multi-argument constructors which are
intended to allow you to create tuples on-the-fly. Forget about those.
They're not symmetric anyway, since passing a single argument /converts/ it
to a tuple, rather than wrapping it in a tuple. I'm going to write a
generalized make_tuple() function which builds the appropriate tuple
object.

-Dave







More information about the Cplusplus-sig mailing list