Wrapper for Python extension modules. More...
#include <pybind11.h>
Classes | |
struct | module_def |
Public Member Functions | |
module_ (const char *name, const char *doc=nullptr) | |
Create a new top-level Python module with the given name and docstring. More... | |
template<typename Func , typename... Extra> | |
module_ & | def (const char *name_, Func &&f, const Extra &... extra) |
module_ | def_submodule (const char *name, const char *doc=nullptr) |
void | reload () |
Reload the module or throws error_already_set . More... | |
PYBIND11_NOINLINE void | add_object (const char *name, handle obj, bool overwrite=false) |
![]() | |
object ()=default | |
PYBIND11_DEPRECATED ("Use reinterpret_borrow<object>() or reinterpret_steal<object>()") object(handle h | |
object (const object &o) | |
Copy constructor; always increases the reference count. More... | |
object (object &&other) noexcept | |
Move constructor; steals the object from other and preserves its reference count. More... | |
~object () | |
Destructor; automatically calls handle::dec_ref() More... | |
handle | release () |
object & | operator= (const object &other) |
object & | operator= (object &&other) noexcept |
template<typename T > | |
T | cast () const & |
template<typename T > | |
T | cast () && |
object (handle h, borrowed_t) | |
object (handle h, stolen_t) | |
template<typename T > | |
T | cast () const & |
template<typename T > | |
T | cast () && |
template<> | |
void | cast () const & |
template<> | |
void | cast () && |
![]() | |
handle ()=default | |
The default constructor creates a handle with a nullptr -valued pointer. More... | |
handle (PyObject *ptr) | |
Creates a handle from the given raw Python object pointer. More... | |
PyObject * | ptr () const |
Return the underlying PyObject * pointer. More... | |
PyObject *& | ptr () |
const handle & | inc_ref () const & |
const handle & | dec_ref () const & |
template<typename T > | |
T | cast () const |
operator bool () const | |
Return true when the handle wraps a valid Python object. More... | |
bool | operator== (const handle &h) const |
bool | operator!= (const handle &h) const |
bool | check () const |
template<> | |
void | cast () const |
Static Public Member Functions | |
static module_ | import (const char *name) |
Import and return a module or throws error_already_set . More... | |
static module_ | create_extension_module (const char *name, const char *doc, module_def *def) |
Additional Inherited Members | |
![]() | |
bool | is_borrowed: handle(h) { if (is_borrowed) inc_ref() |
![]() | |
PyObject * | m_ptr = nullptr |
Wrapper for Python extension modules.
Definition at line 941 of file pybind11.h.
|
inlineexplicit |
Create a new top-level Python module with the given name and docstring.
Definition at line 947 of file pybind11.h.
|
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. \endrst
Definition at line 1013 of file pybind11.h.
|
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 statically allocated module_def. For Python 2, def
can be a nullptr and is completely ignored. \endrst
Definition at line 1033 of file pybind11.h.
|
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
. \endrst
Definition at line 961 of file pybind11.h.
|
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'");
\endrst
Definition at line 980 of file pybind11.h.
|
inlinestatic |
Import and return a module or throws error_already_set
.
Definition at line 991 of file pybind11.h.
|
inline |
Reload the module or throws error_already_set
.
Definition at line 999 of file pybind11.h.