/
BirdLeon
/
ROBLOX2016
Обзор
Документация
Войти
/
BirdLeon
/
ROBLOX2016
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Library/boost/libs/python/test/bienstman1.cpp
39 строк
1 KB
PatoFlamejanteTV
full source code
19 дек 2024, 19:11
19 дек 2024, 19:11
05db15d
Код
Авторство
О чём код?
// Copyright David Abrahams 2004. Distributed under the Boost // Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include <boost/python/module.hpp> #include <boost/python/def.hpp> #include <boost/python/class.hpp> #include <boost/python/reference_existing_object.hpp> #include <boost/python/return_value_policy.hpp> struct A {}; struct V { virtual ~V() {}; // silence compiler warningsa virtual void f() = 0; const A* inside() {return &a;} A a; }; const A* outside(const V& v) {return &v.a;} BOOST_PYTHON_MODULE(bienstman1_ext) { using namespace boost::python; using boost::shared_ptr; using boost::python::return_value_policy; using boost::python::reference_existing_object; class_<A>("A"); class_<V, boost::noncopyable>("V", no_init) .def("inside", &V::inside, return_value_policy<reference_existing_object>()) .def("outside", outside, return_value_policy<reference_existing_object>()) ; }