Wrap C++-Klasse (Wie bringt man Py. deren Methoden bei?)
Verfasst: Mittwoch 1. Juni 2011, 15:42
Hallo,
bin gerade dabei mich in die C-API von Python einzuarbeiten. Ich möchte einen eigenen Typ erstellen, der aus einer vorhandenen C++-Klasse enstehen soll. Ich hab mir den Part mit den dem struct in der Dokumentation von Python 2.7 durchgelesen, weiß aber nicht so recht wie ich das auf eine Klasse anwenden soll. Besonders bei den nicht statischen Methoden der Klasse komme ich nicht weiter. Wie gibt man diese bei tp_methods im PyTypeObject an?
Könnte mir das bitte jemand von euch am nachstehenden Beispiel zeigen?
bin gerade dabei mich in die C-API von Python einzuarbeiten. Ich möchte einen eigenen Typ erstellen, der aus einer vorhandenen C++-Klasse enstehen soll. Ich hab mir den Part mit den dem struct in der Dokumentation von Python 2.7 durchgelesen, weiß aber nicht so recht wie ich das auf eine Klasse anwenden soll. Besonders bei den nicht statischen Methoden der Klasse komme ich nicht weiter. Wie gibt man diese bei tp_methods im PyTypeObject an?
Könnte mir das bitte jemand von euch am nachstehenden Beispiel zeigen?
Code: Alles auswählen
#include <vector>
struct Pt { double x, y; };
class Test {
public:
std::vector<Pt> pts;
unsigned int addPt(double x, double y) {
Pt pt;
pt.x = x;
pt.y = y;
pts.push_back(pt);
}
};
/*
* im python hätte ichs gern so:
* import Test
* a = Test.Test()
* a.add_pt(3.7, 2.9)
* */