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_()
module_ |
( |
const char * |
name, |
|
|
const char * |
doc = nullptr |
|
) |
| |
|
inlineexplicit |
◆ add_object()
PYBIND11_NOINLINE void add_object |
( |
const char * |
name, |
|
|
handle |
obj, |
|
|
bool |
overwrite = false |
|
) |
| |
|
inline |
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.
◆ cast()
Attempt to cast the Python object into the given C++ type. A cast_error
will be throw upon failure.
Definition at line 1743 of file cast.h.
◆ create_extension_module()
static module_ create_extension_module |
( |
const char * |
name, |
|
|
const char * |
doc, |
|
|
module_def * |
def |
|
) |
| |
|
inlinestatic |
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.
References def().
◆ dec_ref()
const handle& dec_ref |
( |
| ) |
const & |
|
inlineinherited |
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.
◆ def()
module_& def |
( |
const char * |
name_, |
|
|
Func && |
f, |
|
|
const Extra &... |
extra |
|
) |
| |
|
inline |
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.
◆ def_submodule()
module_ def_submodule |
( |
const char * |
name, |
|
|
const char * |
doc = nullptr |
|
) |
| |
|
inline |
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.
◆ import()
static module_ import |
( |
const char * |
name | ) |
|
|
inlinestatic |
◆ inc_ref()
const handle& inc_ref |
( |
| ) |
const & |
|
inlineinherited |
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.
◆ operator bool()
Return true
when the handle
wraps a valid Python object.
Definition at line 207 of file pytypes.h.
◆ operator==()
bool operator== |
( |
const handle & |
h | ) |
const |
|
inlineinherited |
Deprecated: Check that the underlying pointers are the same. Equivalent to obj1 is obj2
in Python.
Definition at line 213 of file pytypes.h.
◆ ptr()
Return the underlying PyObject *
pointer.
Definition at line 184 of file pytypes.h.
◆ release()
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().
◆ reload()
The documentation for this class was generated from the following file: