$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: rwgk_at_[hidden]
Date: 2001-08-16 19:30:57
--- In boost_at_y..., John Hunter <jdhunter_at_a...> wrote:
> I assumed that Ralf's comment regarding member functions "However,
the
> default arguments are lost at the Python level." would apply to
> constructors as well.
I should have worded this more carefully. What I meant is
that the default arguments are lost at the Python level
if you just wrap the function in the "normal way", e.g.:
class myclass {
public:
int foo(int i = 123);
};
//...
py_myclass.def(&myclass::foo, "foo");
From Python you can only call foo with one argument.
If you use the trick
int foo_0(const myclass& mc) { return mc.foo(); }
int foo_1(const myclass& mc, int i) { return mc.foo(i); }
//...
py_myclass.def(foo_0, "foo");
py_myclass.def(foo_1, "foo");
you will be able to use foo at the Python level with no
arguments and with one argument.
Does this make things clearer?
Ralf