Wrapper for Python extension modules.
More...
#include <pybind11.h>
|
PyObject * | m_ptr = nullptr |
|
Wrapper for Python extension modules.
Definition at line 891 of file pybind11.h.
module_ |
( |
const char * |
name, |
|
|
const char * |
doc = nullptr |
|
) |
| |
|
inlineexplicit |
Create a new top-level Python module with the given name and docstring.
Definition at line 897 of file pybind11.h.
PYBIND11_NOINLINE void add_object |
( |
const char * |
name, |
|
|
handle |
obj, |
|
|
bool |
overwrite = false |
|
) |
| |
|
inline |
\rst
Adds an object to the module using the given name. Throws if an object with the given name
already exists.
``overwrite`` should almost always be false: attempting to overwrite objects that pybind11 has
established will, in most cases, break things.
Definition at line 963 of file pybind11.h.
References handle::inc_ref(), and handle::ptr().
static module_ create_extension_module |
( |
const char * |
name, |
|
|
const char * |
doc, |
|
|
module_def * |
def |
|
) |
| |
|
inlinestatic |
\rst
Create a new top-level module that can be used as the main module of a C extension.
For Python 3, ``def`` should point to a staticly allocated module_def.
For Python 2, ``def`` can be a nullptr and is completely ignored.
Definition at line 983 of file pybind11.h.
const handle& dec_ref |
( |
| ) |
const |
|
inlineinherited |
\rst
Manually decrease the reference count of the Python object. Usually, it is
preferable to use the `object` class which derives from `handle` and calls
this function automatically. Returns a reference to itself.
Definition at line 199 of file pytypes.h.
module_& def |
( |
const char * |
name_, |
|
|
Func && |
f, |
|
|
const Extra &... |
extra |
|
) |
| |
|
inline |
\rst
Create Python binding for a new function within the module scope. ``Func``
can be a plain C++ function, a function pointer, or a lambda function. For
details on the ``Extra&& ... extra`` argument, see section :ref:`extras`.
Definition at line 911 of file pybind11.h.
module_ def_submodule |
( |
const char * |
name, |
|
|
const char * |
doc = nullptr |
|
) |
| |
|
inline |
\rst
Create and return a new Python submodule with the given name and docstring.
This also works recursively, i.e.
.. code-block:: cpp
py::module_ m("example", "pybind11 example plugin");
py::module_ m2 = m.def_submodule("sub", "A submodule of 'example'");
py::module_ m3 = m2.def_submodule("subsub", "A submodule of 'example.sub'");
Definition at line 930 of file pybind11.h.
static module_ import |
( |
const char * |
name | ) |
|
|
inlinestatic |
const handle& inc_ref |
( |
| ) |
const |
|
inlineinherited |
\rst
Manually increase the reference count of the Python object. Usually, it is
preferable to use the `object` class which derives from `handle` and calls
this function automatically. Returns a reference to itself.
Definition at line 192 of file pytypes.h.
Return true
when the handle
wraps a valid Python object.
Definition at line 207 of file pytypes.h.
bool operator== |
( |
const handle & |
h | ) |
const |
|
inlineinherited |
\rst
Deprecated: Check that the underlying pointers are the same.
Equivalent to ``obj1 is obj2`` in Python.
Definition at line 213 of file pytypes.h.
Return the underlying PyObject *
pointer.
Definition at line 184 of file pytypes.h.
\rst
Resets the internal pointer to ``nullptr`` without decreasing the
object's reference count. The function returns a raw handle to the original
Python object.
Definition at line 249 of file pytypes.h.
References handle::handle().
The documentation for this class was generated from the following file: