[C++-sig] Exposing Friend Functions in C++ Python Boost
Kv Gopalkrishnan
kvgopalkrishnan1 at gmail.com
Wed Jul 16 13:52:17 CEST 2014
I want to expose a C++ friend functions to python using Python boost.
class Turtle{
friend const PV& GetHeading(const Turtle& t);
friend const PV& GetLeft(const Turtle& t);
friend const P& GetPoint(const Turtle& t);
friend void SetPoint(Turtle& t, const P& p);
public:
...
private:
PV h;
PV l;
};
Here I have wrapped the classes PV and P so no problem there. I tried to
wrap the friend functions like regular functions. Like
BOOST_PYTHON_MODULE(TurtleWrapper)
{
class_<Turtle>("Turtle")
.def("GetHeading",&Turtle::GetHeading)
.def("GetLeft",&Turtle::GetLeft)
.add_property("h",&Turtle::GetHeading)
.add_property("l",&Turtle::GetLeft);
}
When i run the code i get error messages.
error: ‘GetHeading’ is not a member of ‘Turtle’
error: ‘GetLeft’ is not a member of ‘Turtle’
This error is seen for add_property and also .def.
So I assume that this is not the way to declare a friend function and the
documentation of python boost does not seem (or at least I did not see a
note about friend functions). Any help is much appreciated.
Kind Regards
K.V.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20140716/6045293c/attachment.html>
More information about the Cplusplus-sig
mailing list