return_arg.cpp
来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 68 行
CPP
68 行
// Copyright David Abrahams and Nikolay Mladenov 2003.// 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/class.hpp>#include <boost/python/def.hpp>#include <boost/python/return_arg.hpp>struct Widget{ Widget() : sensitive_(true) {} bool get_sensitive() const { return sensitive_; } void set_sensitive(bool s) { this->sensitive_ = s; } private: bool sensitive_;};struct Label : Widget{ Label() {} std::string get_label() const { return label_; } void set_label(const std::string &l) { label_ = l; } private: std::string label_;};void return_arg_f(boost::python::object) {}using namespace boost::python;BOOST_PYTHON_MODULE(return_arg_ext){ class_<Widget>("Widget") .def("sensitive", &Widget::get_sensitive) .def("sensitive", &Widget::set_sensitive, return_self<>()) ; class_<Label, bases<Widget> >("Label") .def("label", &Label::get_label)//,return_arg<0>()) //error(s) .def("label", &Label::set_label, return_self<>()) ; def("return_arg", return_arg_f, return_arg<1>());}#include "module_tail.cpp"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?