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’
So I assume that this is not the way to declare a friend function and the documentation of python boost does not seem (or atleast I did not see a note about friend functions).Any help is much appreciated.