Diane Trout
2006 March 23 - SoCal Piggies
//hello.cpp
#include <boost/python.hpp>
using namespace boost::python;
char const* greet() {
return "hi there";
}
BOOST_PYTHON_MODULE(hello) {
def("greet", greet);
}
// g++ -o hello.so -shared -I/usr/include/python2.3 \\
// -lpython2.3 -lboost_python hello.cpp
#include <string>
struct World {
void set(std::string msg) { this->msg = msg; }
std::string greet() { return msg; }
std::string msg; // not accessible
};
#include <boost/python.hpp>
using namespace boost::python;
BOOST_PYTHON_MODULE(simple) {
class_<World>("World")
.def("greet", &World::greet)
.def("set", &World::set) ;
}
// g++ -shared -I/usr/include/python2.3 -lpython2.3 -lboost_python \\
// -o simple.so simple.cpp
#include <string>
struct World {
void set(std::string msg) { this->msg = msg; }
std::string greet() { return msg; }
std::string msg; // not accessible
};
#include <boost/python.hpp>
using namespace boost::python;
BOOST_PYTHON_MODULE(simple) {
class_<World>("World")
.def("greet", &World::greet)
.add_property("msg", &World::greet, &World::set) ;
}
// g++ -shared -I/usr/include/python2.3 -lpython2.3 -lboost_python \\
// -o property.so property.cpp