#include <type_caster_base.h>
Public Member Functions | |
loader_life_support () | |
A new patient frame is created when a function is entered. More... | |
~loader_life_support () | |
... and destroyed after it returns More... | |
Static Public Member Functions | |
static PYBIND11_NOINLINE void | add_patient (handle h) |
Static Private Member Functions | |
static PYBIND11_TLS_KEY_REF | get_stack_tls_key () |
static loader_life_support * | get_stack_top () |
static void | set_stack_top (loader_life_support *value) |
Private Attributes | |
std::unordered_set< PyObject * > | keep_alive |
loader_life_support * | parent = nullptr |
A life support system for temporary objects created by type_caster::load()
. Adding a patient will keep it alive up until the enclosing function returns.
Definition at line 34 of file type_caster_base.h.
|
inline |
A new patient frame is created when a function is entered.
Definition at line 56 of file type_caster_base.h.
|
inline |
... and destroyed after it returns
Definition at line 59 of file type_caster_base.h.
|
inlinestatic |
This can only be used inside a pybind11-bound function, either by argument_loader
at argument preparation time or by py::cast()
at execution time.
Definition at line 71 of file type_caster_base.h.
|
inlinestaticprivate |
Definition at line 40 of file type_caster_base.h.
|
inlinestaticprivate |
Definition at line 47 of file type_caster_base.h.
|
inlinestaticprivate |
Definition at line 50 of file type_caster_base.h.
|
private |
Definition at line 37 of file type_caster_base.h.
|
private |
Definition at line 36 of file type_caster_base.h.