2
0
mirror of https://github.com/boostorg/python.git synced 2026-01-24 18:12:43 +00:00

BPL support for exporting/importing class wrappers.

[SVN r8788]
This commit is contained in:
Ralf W. Grosse-Kunstleve
2001-01-27 17:35:02 +00:00
parent b0d9bbc0b1
commit e508842da6
25 changed files with 935 additions and 133 deletions

34
example/abstract.cpp Normal file
View File

@@ -0,0 +1,34 @@
// Example by Ullrich Koethe
#include "boost/python/class_builder.hpp"
#include <string>
struct Abstract
{
virtual std::string test() = 0;
};
struct Abstract_callback: Abstract
{
Abstract_callback(PyObject * self)
: m_self(self)
{}
std::string test()
{
return boost::python::callback<std::string>::call_method(m_self, "test");
}
PyObject * m_self;
};
extern "C"
DL_EXPORT(void)
initabstract()
{
boost::python::module_builder a("abstract");
boost::python::class_builder<Abstract, Abstract_callback>
a_class(a, "Abstract");
a_class.def(boost::python::constructor<>()); // wrap a constructor
a_class.def(&Abstract::test, "test");
}