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 + -
显示快捷键?