Differences between revisions 1 and 6 (spanning 5 versions)
Revision 1 as of 2002-09-25 19:44:49
Size: 1345
Editor: MikeRovner
Comment:
Revision 6 as of 2014-01-30 15:21:53
Size: 233
Editor: ::ffff:77
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Boost.Python v2 now supports a free-function version of def which defines
its function in the current scope:
{{{
  #include <boost/python/def.hpp>
  #include <boost/python/module_init.hpp>

  BOOST_PYTHON_MODULE_INIT(my_module)
  {
    def("name", function_ptr);
    def("name", function_ptr, call_policies);
    def("name", function_ptr, "documentation string");
    def("name", function_ptr, call_policies, "documentation string");

    def("name", function_ptr, default_stubs);
  }
}}}
etc.

To get access to the current module, you can declare the current
scope:
{{{
  #include <boost/python/scope.hpp>

  BOOST_PYTHON_MODULE_INIT(my_module)
  {
    // set the docstring of the current module scope
    scope().attr("__doc__") = "my module's docstring";
    ...

    scope current;
    current.attr("x") = 1; // my_module.x = 1
  }
}}}
Of course, you can also set the current scope to any object:
{{{
  object some_obj;
  scope within(some_obj);
  def("foo", &foo); // define a function within some_obj as a namespace
}}}
Be warned, however, that although you can set the current scope from a
class_<> instance, the class_<>'s def() member function will work properly
in some cases where the free-function def() cannot, since the latter is
missing information about the class type being wrapped.
I'm Abdul and I live in Lamain. <<BR>>
I'm interested in Environmental Management, RC cars and Chinese art. I like to travel and watching The Vampire Diaries.<<BR>>
<<BR>>
My homepage [[http://www.opencartfan.cf|opencart theme]]

I'm Abdul and I live in Lamain.
I'm interested in Environmental Management, RC cars and Chinese art. I like to travel and watching The Vampire Diaries.

My homepage opencart theme

boost.python/module (last edited 2014-01-31 00:27:23 by PaulBoddie)

Unable to edit the page? See the FrontPage for instructions.