GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — python/test/keywords.cpp at develop · gladk/python Expand file tree/ Copy pathkeywords.cppMore file actions 118 lines (93 loc) · 2.23 KB / Copy pathkeywords.cppFile metadata and controls118 lines (93 loc) · 2.23 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 // Copyright David Abrahams 2002. // 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.hpp> #include <string> struct Foo { Foo( int a = 0 , double b = 0 , const std::string &n = std::string() ) : a_(a) , b_(b) , n_(n) {} void set(int a=0, double b=0, const std::string &n=std::string()) { a_ = a; b_ = b; n_ = n; } int geta() const { return a_; } double getb() const { return b_; } std::string getn() const { return n_; } private: int a_; double b_; std::string n_; }; struct Bar { Bar( int a = 0 , double b = 0 , const std::string &n = std::string() ) : a_(a) , b_(b) , n_(n) {} void set(int a=0, double b=0, const std::string &n=std::string()) { a_ = a; b_ = b; n_ = n; } void seta(int a) { a_ = a; } int geta() const { return a_; } double getb() const { return b_; } std::string getn() const { return n_; } private: int a_; double b_; std::string n_; }; BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(bar_set, Bar::set, 0,3) using namespace boost::python; BOOST_PYTHON_MODULE(keywords) { #if BOOST_WORKAROUND(__GNUC__, == 2) using boost::python::arg; #endif class_<Foo>( "Foo" , init<int, double, const std::string&>( ( arg("a") = 0 , arg("b") = 0.0 , arg("n") = std::string() ) )) .def("set", &Foo::set, (arg("a") = 0, arg("b") = 0.0, arg("n") = std::string()) ) .def("set2", &Foo::set, (arg("a"), "b", "n") ) .def("a", &Foo::geta) .def("b", &Foo::getb) .def("n", &Foo::getn) ; class_<Bar>("Bar" , init<optional<int, double, const std::string &> >() ) .def("set", &Bar::set, bar_set()) .def("set2", &Bar::set, bar_set("set2's docstring")) .def("seta", &Bar::seta, arg("a")) .def("a", &Bar::geta) .def("b", &Bar::getb) .def("n", &Bar::getn) ; } #include "module_tail.cpp" |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |