|
template<typename T > |
T | cast () const & |
|
template<typename T > |
T | cast () && |
|
template<typename T > |
T | cast () const & |
|
template<typename T > |
T | cast () && |
|
template<> |
void | cast () const & |
|
template<> |
void | cast () && |
|
| object ()=default |
|
| 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 (handle h, borrowed_t) |
|
| object (handle h, stolen_t) |
|
object & | operator= (const object &other) |
|
object & | operator= (object &&other) noexcept |
|
| PYBIND11_DEPRECATED ("Use reinterpret_borrow<object>() or reinterpret_steal<object>()") object(handle h |
|
handle | release () |
|
| ~object () |
| Destructor; automatically calls handle::dec_ref() More...
|
|
Public Member Functions inherited from handle |
template<typename T > |
T | cast () const |
|
template<> |
void | cast () const |
|
bool | check () const |
|
const handle & | dec_ref () const & |
|
| handle ()=default |
| The default constructor creates a handle with a nullptr -valued pointer. More...
|
|
template<typename T , detail::enable_if_t< detail::is_pyobj_ptr_or_nullptr_t< T >::value, int > = 0> |
| handle (T ptr) |
|
template<typename T , detail::enable_if_t< detail::all_of< detail::none_of< std::is_base_of< handle, T >, detail::is_pyobj_ptr_or_nullptr_t< T >>, std::is_convertible< T, PyObject *>>::value, int > = 0> |
| handle (T &obj) |
| Enable implicit conversion through T::operator PyObject *() . More...
|
|
const handle & | inc_ref () 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 |
|
PyObject * | ptr () const |
| Return the underlying PyObject * pointer. More...
|
|
PyObject *& | ptr () |
|
Holds a reference to a Python object (with reference counting)
Like handle
, the object
class is a thin wrapper around an arbitrary Python object (i.e. a PyObject *
in Python's C API). In contrast to handle
, it optionally increases the object's reference count upon construction, and it always* decreases the reference count when the object
instance goes out of scope and is destructed. When using object
instances consistently, it is much easier to get reference counting right at the first attempt.
Definition at line 309 of file pytypes.h.