|
Boost Users : |
Subject: Re: [Boost-users] [python] raw pointer data members
From: OvermindDL1 (overminddl1_at_[hidden])
Date: 2009-08-17 20:40:27
On Mon, Aug 17, 2009 at 10:53 AM, Igor
Mikushkin<igor.mikushkin_at_[hidden]> wrote:
> Hello Boosters,
>
> I'm trying to use Boost Python that way:
>
> template<class Key>
> struct Node
> {
> Node(Key key): key(key) {}
> Node* parent;
> Node* left;
> Node* right;
> Key key;
> };
>
> .....
>
> BOOST_PYTHON_MODULE(tree)
> {
> class_<Node>("Node", init<int>())
> .def_readwrite("parent", &Node::parent)
> .def_readwrite("left", &Node::left)
> .def_readwrite("right", &Node::right)
> .def_readwrite("key", &Node::key);
> };
>
> But then I can't use parent, left and right properties in Python code.
> Is there a way to convert these raw pointers to common object
> reference in Python?
I do not know what the 'proper' way is, but any time I had that issue
I either changed all Node* to shared_ptr<Node> if I had access to
change the class, or I added wrapper set/get functions if I did not.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net