BoB robotics
The Brains on Board robotics library
pybind11::handle Class Reference

#include <pytypes.h>

Inheritance diagram for pybind11::handle:
pybind11::detail::object_api< handle > pybind11::detail::pyobject_tag pybind11::detail::args_proxy pybind11::detail::kwargs_proxy pybind11::object pybind11::bool_ pybind11::buffer pybind11::bytearray pybind11::bytes pybind11::capsule pybind11::detail::generic_type pybind11::dict pybind11::dtype pybind11::ellipsis pybind11::exception< type > pybind11::float_ pybind11::function pybind11::int_ pybind11::iterable pybind11::iterator pybind11::list pybind11::memoryview pybind11::module_ pybind11::none pybind11::sequence pybind11::set pybind11.setup_helpers.ParallelCompile pybind11::slice pybind11::staticmethod pybind11::str pybind11::tuple pybind11::type pybind11::weakref

Public Member Functions

 handle ()=default
 The default constructor creates a handle with a nullptr-valued pointer.
 
 handle (PyObject *ptr)
 Creates a handle from the given raw Python object pointer.
 
PyObject * ptr () const
 Return the underlying PyObject * pointer.
 
PyObject *& ptr ()
 
const handleinc_ref () const &
 
const handledec_ref () const &
 
template<typename T >
cast () const
 
 operator bool () const
 Return true when the handle wraps a valid Python object.
 
 __attribute__ ((deprecated("Use obj1.is(obj2) instead"))) bool operator
 
template<>
void cast () const
 
- Public Member Functions inherited from pybind11::detail::object_api< handle >
iterator begin () const
 
iterator end () const
 Return a sentinel which ends iteration.
 
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)
 
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)
 
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.
 
object operator() (Args &&...args) const
 
 __attribute__ ((deprecated("call(...) was deprecated in favor of operator()(...)"))) object call(Args &&... args) const
 
bool is (object_api const &other) const
 Equivalent to obj is other in Python.
 
bool is_none () const
 Equivalent to obj is None in Python.
 
bool equal (object_api const &other) const
 Equivalent to obj == other in Python.
 
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
 
__attribute__((deprecated("Use py::str(obj) instead"))) pybind11 str_attr_accessor doc () const
 Get or set the object's docstring, i.e. obj.__doc__.
 
int ref_count () const
 Return the object's current reference count.
 
handle get_type () const
 

Detailed Description

\rst Holds a reference to a Python object (no reference counting)

The handle class is a thin wrapper around an arbitrary Python object (i.e. a PyObject * in Python's C API). It does not perform any automatic reference counting and merely provides a basic C++ interface to various Python API functions.

.. seealso:: The object class inherits from handle and adds automatic reference counting features. \endrst

Member Function Documentation

◆ __attribute__()

pybind11::handle::__attribute__ ( (deprecated("Use obj1.is(obj2) instead"))  )

\rst Deprecated: Check that the underlying pointers are the same. Equivalent to obj1 is obj2 in Python. \endrst

◆ cast()

template<typename T >
T pybind11::handle::cast

\rst Attempt to cast the Python object into the given C++ type. A cast_error will be throw upon failure. \endrst

◆ dec_ref()

const handle & pybind11::handle::dec_ref ( ) const &
inline

\rst 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. \endrst

◆ inc_ref()

const handle & pybind11::handle::inc_ref ( ) const &
inline

\rst 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. \endrst


The documentation for this class was generated from the following files: