|
#define | PYBIND11_HANDLE_REF_DEBUG |
|
#define | PYBIND11_INPLACE_OP(iop) object iop(object_api const &other) { return operator=(handle::iop(other)); } |
|
#define | PYBIND11_MATH_OPERATOR_BINARY(op, fn) |
|
#define | PYBIND11_MATH_OPERATOR_BINARY_INPLACE(iop, fn) |
|
#define | PYBIND11_MATH_OPERATOR_UNARY(op, fn) |
|
#define | PYBIND11_OBJECT(Name, Parent, CheckFun) |
|
#define | PYBIND11_OBJECT_CHECK_FAILED(Name, o_ptr) |
|
#define | PYBIND11_OBJECT_COMMON(Name, Parent, CheckFun) |
|
#define | PYBIND11_OBJECT_CVT(Name, Parent, CheckFun, ConvertFun) |
|
#define | PYBIND11_OBJECT_CVT_DEFAULT(Name, Parent, CheckFun, ConvertFun) |
|
#define | PYBIND11_OBJECT_DEFAULT(Name, Parent, CheckFun) |
|
#define | PYBIND11_STR_CHECK_FUN PyUnicode_Check |
|
|
using | dict_iterator = generic_iterator< iterator_policies::dict_readonly > |
|
template<typename T > |
using | is_ds_unpacking = std::is_same< kwargs_proxy, T > |
|
template<typename T > |
using | is_keyword = std::is_base_of< arg, T > |
| Python argument categories (using PEP 448 terms) More...
|
|
template<typename T > |
using | is_keyword_or_ds = satisfies_any_of< T, is_keyword, is_ds_unpacking > |
|
template<typename T > |
using | is_positional = satisfies_none_of< T, is_keyword, is_s_unpacking, is_ds_unpacking > |
|
template<typename T > |
using | is_pyobj_ptr_or_nullptr_t = detail::any_of< std::is_same< T, PyObject * >, std::is_same< T, PyObject *const >, std::is_same< T, std::nullptr_t > > |
|
template<typename T > |
using | is_pyobject = std::is_base_of< pyobject_tag, remove_reference_t< T > > |
|
template<typename T > |
using | is_s_unpacking = std::is_same< args_proxy, T > |
|
using | item_accessor = accessor< accessor_policies::generic_item > |
|
using | list_accessor = accessor< accessor_policies::list_item > |
|
using | list_iterator = generic_iterator< iterator_policies::sequence_fast_readonly > |
|
using | obj_attr_accessor = accessor< accessor_policies::obj_attr > |
|
using | sequence_accessor = accessor< accessor_policies::sequence_item > |
|
using | sequence_iterator = generic_iterator< iterator_policies::sequence_slow_readwrite > |
|
using | str_attr_accessor = accessor< accessor_policies::str_attr > |
|
using | tuple_accessor = accessor< accessor_policies::tuple_item > |
|
using | tuple_iterator = generic_iterator< iterator_policies::sequence_fast_readonly > |
|
|
template<typename... Args> |
constexpr bool | args_are_all_keyword_or_ds () |
|
template<typename Unsigned > |
Unsigned | as_unsigned (PyObject *o) |
|
void | delattr (handle obj, const char *name) |
|
void | delattr (handle obj, handle name) |
|
PyObject * | dict_getitem (PyObject *v, PyObject *key) |
|
PyObject * | dict_getitemstring (PyObject *v, const char *key) |
|
PyObject * | dict_getitemstringref (PyObject *v, const char *key) |
|
std::string | error_string () |
|
handle | get_function (handle value) |
|
object | getattr (handle obj, const char *name) |
|
object | getattr (handle obj, const char *name, handle default_) |
|
object | getattr (handle obj, handle name) |
|
object | getattr (handle obj, handle name, handle default_) |
|
bool | hasattr (handle obj, const char *name) |
|
bool | hasattr (handle obj, handle name) |
|
ssize_t | hash (handle obj) |
|
template<typename T , detail::enable_if_t< std::is_base_of< object, T >::value, int > = 0> |
bool | isinstance (handle obj) |
|
bool | isinstance (handle obj, handle type) |
|
template<> |
bool | isinstance< handle > (handle)=delete |
|
template<> |
bool | isinstance< object > (handle obj) |
|
bool | isinstance_generic (handle obj, const std::type_info &tp) |
|
iterator | iter (handle obj) |
|
size_t | len (handle h) |
| Get the length of a Python object. More...
|
|
size_t | len_hint (handle h) |
|
const char * | obj_class_name (PyObject *obj) |
|
handle | object_or_cast (PyObject *ptr) |
|
template<typename T , enable_if_t<!is_pyobject< T >::value, int > = 0> |
object | object_or_cast (T &&o) |
|
template<typename T , enable_if_t< is_pyobject< T >::value, int > = 0> |
auto | object_or_cast (T &&o) -> decltype(std::forward< T >(o)) |
|
str | literals::operator""_s (const char *s, size_t size) |
|
bool | PyEllipsis_Check (PyObject *o) |
|
bool | PyIterable_Check (PyObject *obj) |
|
bool | PyNone_Check (PyObject *o) |
|
bool | PyStaticMethod_Check (PyObject *o) |
|
void | raise_from (error_already_set &err, PyObject *type, const char *message) |
|
void | raise_from (PyObject *type, const char *message) |
|
template<typename T > |
T | reinterpret_borrow (handle h) |
|
template<typename T > |
T | reinterpret_steal (handle h) |
|
str | repr (handle h) |
|
void | set_error (const handle &type, const char *message) |
|
void | set_error (const handle &type, const handle &value) |
|
void | setattr (handle obj, const char *name, handle value) |
|
void | setattr (handle obj, handle name, handle value) |
|
\rst Declare that a handle
or PyObject *
is a certain type and borrow the reference. The target type T
must be object
or one of its derived classes. The function doesn't do any conversions or checks. It's up to the user to make sure that the target type is correct.
.. code-block:: cpp
PyObject *p = PyList_GetItem(obj, index);
py::object o = reinterpret_borrow<py::object>(p);
or py::tuple t = reinterpret_borrow<py::tuple>(p); // <– p
must be already be a tuple
\endrst
Definition at line 467 of file pytypes.h.