rendered paste body#include <boost/python.hpp>#include <boost/shared_ptr.hpp>#include <boost/weak_ptr.hpp>#include <iostream>using namespace boost;class A { public: int i; A(int _i) : i(_i) {}};weak_ptr<A> wpa;void output(shared_ptr<A>& ptr) { wpa = ptr; std::cout << "output: " << ptr->i << std::endl;}void output_weak() { shared_ptr<A> spa; spa = wpa.lock(); if (!spa) std::cout << "output: none " << std::endl; else std::cout << "output: " << spa->i << std::endl;}BOOST_PYTHON_MODULE(tester) { python::class_<A, shared_ptr<A> >("A", python::init<int>()) .def_readwrite("i", &A::i) ; python::def("output", output); python::def("output_weak", output_weak);}