[C++-sig] Re: Construct for c++ class with reference
Neal D. Becker
ndbecker2 at verizon.net
Tue Apr 20 19:34:29 CEST 2004
David Abrahams wrote:
> "Neal D. Becker" <ndbecker2 at verizon.net> writes:
>
>> How should I wrap this (simplified example):
>>
>> struct X {
>> X (int& _x) : x (_x) {}
>> int& x;
>> };
>
> References to builtins are a difficult case. If it were a class you
> could use a read_write property. Python ints are immutable, so you
> have to decide how you'd like to see this translated. What do you
> want the Python interface to be?
>
Actually, I wanted to use this with a class. This code is meant to wrap
boost random number stuff. I acutally found an answer by asking pyste.
This code seems to work:
class_<boost_normal_wrap> ("normal", init<const boost_normal_wrap&>())
.def (init<rng_t&, double>())
.def ("Compute", &boost_normal_wrap::Compute)
;
I got runtime error if I tried it like this (from memory, hope I got this
correct):
class_<boost_normal_wrap> ("normal", init<rng_t&, double>())
.def ("Compute", &boost_normal_wrap::Compute)
;
I don't acually know why #1 works and #2 doesn't.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: boost_rand.cc
Type: text/x-csrc
Size: 1182 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20040420/a9a82b15/attachment.c>
More information about the Cplusplus-sig
mailing list