#include #include #include #include #include class SomeClass { public: explicit SomeClass(std::string n) : name(std::move(n)), mNumber(0.0) {} std::string name; double getNumber() const; void setNumber(double n) { if (n > 3.141592654) n = -1; mNumber = n; } std::string testTime(int secs) { std::this_thread::sleep_for(std::chrono::seconds(secs)); return "asdzxc"; } private: double mNumber; }; double SomeClass::getNumber() const { return mNumber; } #include #include using namespace boost::python; BOOST_PYTHON_MODULE (libbptest) { class_("SomeClass", init()) .def_readwrite("name", &SomeClass::name) .add_property("number", &SomeClass::getNumber, &SomeClass::setNumber) .def("test_time", &SomeClass::testTime) ; } int main() { std::cout << "Hello, World!" << std::endl; return 0; }