![]() |
Scarab
2.8.1
Project 8 C++ Utility Library
|
Wraps an arbitrary C++ function/method/lambda function/.. into a callable Python object. More...
#include <pybind11.h>

Public Member Functions | |
| cpp_function () | |
| cpp_function (std::nullptr_t) | |
| template<typename Return , typename... Args, typename... Extra> | |
| cpp_function (Return(*f)(Args...), const Extra &... extra) | |
| Construct a cpp_function from a vanilla function pointer. More... | |
| template<typename Func , typename... Extra, typename = detail::enable_if_t<detail::is_lambda<Func>::value>> | |
| cpp_function (Func &&f, const Extra &... extra) | |
| Construct a cpp_function from a lambda function (possibly with internal state) More... | |
| template<typename Return , typename Class , typename... Arg, typename... Extra> | |
| cpp_function (Return(Class::*f)(Arg...), const Extra &... extra) | |
| Construct a cpp_function from a class method (non-const) More... | |
| template<typename Return , typename Class , typename... Arg, typename... Extra> | |
| cpp_function (Return(Class::*f)(Arg...) const, const Extra &... extra) | |
| Construct a cpp_function from a class method (const) More... | |
| object | name () const |
| Return the function name. More... | |
Public Member Functions inherited from function | |
| __attribute__ ((deprecated("Use reinterpret_borrow<""function"">() or reinterpret_steal<""function"">()"))) function(handle h | |
Public Member Functions inherited from object | |
| object ()=default | |
| __attribute__ ((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 () && |
Public Member Functions inherited from handle | |
| 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... | |
| __attribute__ ((deprecated("Use obj1.is(obj2) instead"))) bool operator | |
| template<> | |
| void | cast () const |
Public Member Functions inherited from object_api< handle > | |
| iterator | begin () const |
| iterator | end () const |
| Return a sentinel which ends iteration. More... | |
| item_accessor | operator[] (handle key) const |
| item_accessor | operator[] (const char *key) const |
| See above (the only difference is that they key is provided as a string literal) More... | |
| obj_attr_accessor | attr (handle key) const |
| str_attr_accessor | attr (const char *key) const |
| See above (the only difference is that they key is provided as a string literal) More... | |
| args_proxy | operator* () const |
| object | operator* (object_api const &other) const |
| bool | contains (T &&item) const |
Check if the given item is contained within this object, i.e. item in obj. More... | |
| object | operator() (Args &&...args) const |
| __attribute__ ((deprecated("call(...) was deprecated in favor of operator()(...)"))) object call(Args &&... args) const | |
Get or set the object's docstring, i.e. obj.__doc__. More... | |
| bool | is (object_api const &other) const |
Equivalent to obj is other in Python. More... | |
| bool | is_none () const |
Equivalent to obj is None in Python. More... | |
| bool | equal (object_api const &other) const |
| Equivalent to obj == other in Python. More... | |
| bool | not_equal (object_api const &other) const |
| bool | operator< (object_api const &other) const |
| bool | operator<= (object_api const &other) const |
| bool | operator> (object_api const &other) const |
| bool | operator>= (object_api const &other) const |
| object | operator- () const |
| object | operator- (object_api const &other) const |
| object | operator~ () const |
| object | operator+ (object_api const &other) const |
| object | operator+= (object_api const &other) const |
| object | operator-= (object_api const &other) const |
| object | operator*= (object_api const &other) const |
| object | operator/ (object_api const &other) const |
| object | operator/= (object_api const &other) const |
| object | operator| (object_api const &other) const |
| object | operator|= (object_api const &other) const |
| object | operator& (object_api const &other) const |
| object | operator&= (object_api const &other) const |
| object | operator^ (object_api const &other) const |
| object | operator^= (object_api const &other) const |
| object | operator<< (object_api const &other) const |
| object | operator<<= (object_api const &other) const |
| object | operator>> (object_api const &other) const |
| object | operator>>= (object_api const &other) const |
| int | ref_count () const |
| Return the object's current reference count. More... | |
| handle | get_type () const |
| Return a handle to the Python type object underlying the instance. More... | |
Protected Member Functions | |
| __attribute__ ((noinline)) detail | |
| Space optimization: don't inline this frequently instantiated fragment. More... | |
| template<typename Func , typename Return , typename... Args, typename... Extra> | |
| void | initialize (Func &&f, Return(*)(Args...), const Extra &... extra) |
| Special internal constructor for functors, lambda functions, etc. More... | |
| void | initialize_generic (detail::function_record *rec, const char *text, const std::type_info *const *types, size_t args) |
| Register a function call with Python (generic non-templated code goes here) More... | |
Static Protected Member Functions | |
| static void | destruct (detail::function_record *rec) |
| When a cpp_function is GCed, release any memory allocated by pybind11. More... | |
| static PyObject * | dispatcher (PyObject *self, PyObject *args_in, PyObject *kwargs_in) |
| Main dispatch logic for calls to functions bound using pybind11. More... | |
Additional Inherited Members | |
Public Attributes inherited from function | |
| bool | is_borrowed: object (is_borrowed ? object (h |
Public Attributes inherited from object | |
| bool | is_borrowed: handle(h) { if (is_borrowed) inc_ref() |
Wraps an arbitrary C++ function/method/lambda function/.. into a callable Python object.
Definition at line 56 of file pybind11.h.
|
inline |
Definition at line 58 of file pybind11.h.
|
inline |
Definition at line 59 of file pybind11.h.
|
inline |
Construct a cpp_function from a vanilla function pointer.
Definition at line 63 of file pybind11.h.
|
inline |
Construct a cpp_function from a lambda function (possibly with internal state)
Definition at line 70 of file pybind11.h.
|
inline |
Construct a cpp_function from a class method (non-const)
Definition at line 77 of file pybind11.h.
|
inline |
Construct a cpp_function from a class method (const)
Definition at line 84 of file pybind11.h.
|
inlineprotected |
Space optimization: don't inline this frequently instantiated fragment.
Definition at line 94 of file pybind11.h.
|
inlinestaticprotected |
When a cpp_function is GCed, release any memory allocated by pybind11.
Definition at line 401 of file pybind11.h.
|
inlinestaticprotected |
Main dispatch logic for calls to functions bound using pybind11.
Definition at line 424 of file pybind11.h.
|
inlineprotected |
Special internal constructor for functors, lambda functions, etc.
Definition at line 100 of file pybind11.h.
|
inlineprotected |
Register a function call with Python (generic non-templated code goes here)
Definition at line 193 of file pybind11.h.
Return the function name.
Definition at line 90 of file pybind11.h.
1.8.13