|
struct | always_construct_holder< T, Value > |
|
struct | arg |
|
struct | arg_v |
|
class | argument_loader< Args > |
| Helper class which loads arguments for C++ functions called from Python. More...
|
|
struct | copyable_holder_caster< type, holder_type, SFINAE > |
|
struct | function_call |
| Internal data associated with a single function call. More...
|
|
struct | handle_type_name< T > |
|
struct | handle_type_name< anyset > |
|
struct | handle_type_name< args > |
|
struct | handle_type_name< bool_ > |
|
struct | handle_type_name< buffer > |
|
struct | handle_type_name< bytearray > |
|
struct | handle_type_name< bytes > |
|
struct | handle_type_name< capsule > |
|
struct | handle_type_name< dict > |
|
struct | handle_type_name< ellipsis > |
|
struct | handle_type_name< float_ > |
|
struct | handle_type_name< frozenset > |
|
struct | handle_type_name< function > |
|
struct | handle_type_name< handle > |
|
struct | handle_type_name< int_ > |
|
struct | handle_type_name< item_accessor > |
|
struct | handle_type_name< iterable > |
|
struct | handle_type_name< iterator > |
|
struct | handle_type_name< kwargs > |
|
struct | handle_type_name< list > |
|
struct | handle_type_name< list_accessor > |
|
struct | handle_type_name< memoryview > |
|
struct | handle_type_name< none > |
|
struct | handle_type_name< obj_attr_accessor > |
|
struct | handle_type_name< object > |
|
struct | handle_type_name< sequence > |
|
struct | handle_type_name< sequence_accessor > |
|
struct | handle_type_name< set > |
|
struct | handle_type_name< slice > |
|
struct | handle_type_name< str > |
|
struct | handle_type_name< str_attr_accessor > |
|
struct | handle_type_name< tuple > |
|
struct | handle_type_name< tuple_accessor > |
|
struct | handle_type_name< type > |
|
struct | handle_type_name< weakref > |
|
struct | holder_helper< T > |
|
struct | is_holder_type< base, holder > |
|
struct | is_holder_type< base, std::unique_ptr< base, deleter > > |
|
struct | kw_only |
|
struct | move_always< T, SFINAE > |
|
struct | move_always< T, enable_if_t< all_of< move_is_plain_type< T >, negation< is_copy_constructible< T > >, is_move_constructible< T >, std::is_same< decltype(std::declval< make_caster< T >>().operator T&()), T & > >::value > > |
|
struct | move_if_unreferenced< T, SFINAE > |
|
struct | move_if_unreferenced< T, enable_if_t< all_of< move_is_plain_type< T >, negation< move_always< T > >, is_move_constructible< T >, std::is_same< decltype(std::declval< make_caster< T >>().operator T&()), T & > >::value > > |
|
struct | move_only_holder_caster< type, holder_type, SFINAE > |
|
struct | override_unused |
|
struct | pos_only |
|
struct | pyobject_caster< type > |
|
struct | return_value_policy_override< Return, SFINAE > |
|
struct | return_value_policy_override< Return, detail::enable_if_t< std::is_base_of< type_caster_generic, make_caster< Return > >::value, void > > |
|
class | simple_collector< policy > |
|
struct | string_caster< StringType, IsView > |
|
class | tuple_caster< Tuple, Ts > |
|
class | type_caster< type, SFINAE > |
|
class | type_caster< bool > |
|
struct | type_caster< CharT, enable_if_t< is_std_char_type< CharT >::value > > |
|
struct | type_caster< std::basic_string< CharT, Traits, Allocator >, enable_if_t< is_std_char_type< CharT >::value > > |
|
class | type_caster< std::nullptr_t > |
|
class | type_caster< std::pair< T1, T2 > > |
|
class | type_caster< std::reference_wrapper< type > > |
|
class | type_caster< std::shared_ptr< T > > |
| Specialize for the common std::shared_ptr, so users don't need to. More...
|
|
class | type_caster< std::tuple< Ts... > > |
|
class | type_caster< std::unique_ptr< type, deleter > > |
|
class | type_caster< T, enable_if_t< is_pyobject< T >::value > > |
|
struct | type_caster< T, enable_if_t< std::is_arithmetic< T >::value &&!is_std_char_type< T >::value > > |
|
class | type_caster< void > |
|
class | type_caster< void_type > |
|
class | unpacking_collector< policy > |
| Helper class which collects positional, keyword, * and ** arguments for a Python function call. More...
|
|
struct | void_caster< T > |
|
|
template<typename > |
using | arg_t = arg_v |
| Alias for backward compatibility – to be removed in version 2.0. More...
|
|
template<typename type > |
using | cast_is_temporary_value_reference = bool_constant<(std::is_reference< type >::value||std::is_pointer< type >::value) &&!std::is_base_of< type_caster_generic, make_caster< type > >::value &&!std::is_same< intrinsic_t< type >, void >::value > |
|
template<typename T > |
using | is_kw_only = std::is_same< intrinsic_t< T >, kw_only > |
|
template<typename T > |
using | is_pos_only = std::is_same< intrinsic_t< T >, pos_only > |
|
template<typename CharT > |
using | is_std_char_type = any_of< std::is_same< CharT, char >, std::is_same< CharT, char16_t >, std::is_same< CharT, char32_t >, std::is_same< CharT, wchar_t > > |
|
template<typename type > |
using | make_caster = type_caster< intrinsic_t< type > > |
|
template<typename T > |
using | move_is_plain_type = satisfies_none_of< T, std::is_void, std::is_pointer, std::is_reference, std::is_const > |
|
template<typename T > |
using | move_never = none_of< move_always< T >, move_if_unreferenced< T > > |
|
template<typename ret_type > |
using | override_caster_t = conditional_t< cast_is_temporary_value_reference< ret_type >::value, make_caster< ret_type >, override_unused > |
|
template<typename type , typename holder_type > |
using | type_caster_holder = conditional_t< is_copy_constructible< holder_type >::value, copyable_holder_caster< type, holder_type >, move_only_holder_caster< type, holder_type > > |
|
|
template<typename... Args> |
constexpr bool | args_are_all_positional () |
|
template<typename T , detail::enable_if_t<!detail::is_pyobject< T >::value &&!detail::is_same_ignoring_cvref< T, PyObject * >::value, int > = 0> |
T | cast (const handle &handle) |
|
template<typename T , typename Handle , detail::enable_if_t< detail::is_same_ignoring_cvref< T, PyObject * >::value &&detail::is_same_ignoring_cvref< Handle, handle >::value, int > = 0> |
T | cast (Handle &&handle) |
|
template<typename T , typename Object , detail::enable_if_t< detail::is_same_ignoring_cvref< T, PyObject * >::value &&detail::is_same_ignoring_cvref< Object, object >::value, int > = 0> |
T | cast (Object &&obj) |
|
template<typename T > |
detail::enable_if_t<!detail::is_pyobject< T >::value &&detail::move_always< T >::value, T > | cast (object &&object) |
|
template<typename T > |
detail::enable_if_t<!detail::is_pyobject< T >::value &&detail::move_if_unreferenced< T >::value, T > | cast (object &&object) |
|
template<typename T > |
detail::enable_if_t<!detail::is_pyobject< T >::value &&detail::move_never< T >::value, T > | cast (object &&object) |
|
template<typename T > |
detail::enable_if_t< detail::is_pyobject< T >::value, T > | cast (object &&object) |
|
template<typename T , detail::enable_if_t<!detail::is_pyobject< T >::value, int > = 0> |
object | cast (T &&value, return_value_policy policy=return_value_policy::automatic_reference, handle parent=handle()) |
|
cast_error | cast_error_unable_to_convert_call_arg (const std::string &name, const std::string &type) |
|
template<typename T > |
make_caster< T >::template cast_op_type< typename std::add_rvalue_reference< T >::type > | cast_op (make_caster< T > &&caster) |
|
template<typename T > |
make_caster< T >::template cast_op_type< T > | cast_op (make_caster< T > &caster) |
|
template<typename T > |
enable_if_t<!cast_is_temporary_value_reference< T >::value, T > | cast_ref (object &&, override_unused &) |
|
template<typename T > |
enable_if_t< cast_is_temporary_value_reference< T >::value, T > | cast_ref (object &&o, make_caster< T > &caster) |
|
template<typename T > |
enable_if_t< cast_is_temporary_value_reference< T >::value &&!detail::is_same_ignoring_cvref< T, PyObject * >::value, T > | cast_safe (object &&) |
|
template<typename T > |
enable_if_t< std::is_void< T >::value, void > | cast_safe (object &&) |
|
template<typename T > |
enable_if_t< detail::is_same_ignoring_cvref< T, PyObject * >::value, PyObject * > | cast_safe (object &&o) |
|
template<typename T > |
enable_if_t< detail::none_of< cast_is_temporary_value_reference< T >, detail::is_same_ignoring_cvref< T, PyObject * >, std::is_void< T > >::value, T > | cast_safe (object &&o) |
|
template<return_value_policy policy, typename... Args, typename = enable_if_t<args_are_all_positional<Args...>()>> |
simple_collector< policy > | collect_arguments (Args &&...args) |
| Collect only positional arguments for a Python function call. More...
|
|
template<return_value_policy policy, typename... Args, typename = enable_if_t<!args_are_all_positional<Args...>()>> |
unpacking_collector< policy > | collect_arguments (Args &&...args) |
| Collect all arguments, including keywords and unpacking (only instantiated when needed) More...
|
|
template<typename T > |
make_caster< T > | load_type (const handle &handle) |
|
template<typename T , typename SFINAE > |
type_caster< T, SFINAE > & | load_type (type_caster< T, SFINAE > &conv, const handle &handle) |
|
template<return_value_policy policy = return_value_policy::automatic_reference> |
tuple | make_tuple () |
|
template<return_value_policy policy = return_value_policy::automatic_reference, typename... Args> |
tuple | make_tuple (Args &&...args_) |
|
template<typename T > |
detail::enable_if_t<!detail::move_never< T >::value, T > | move (object &&obj) |
|
template<typename T , enable_if_t<!is_pyobject< T >::value, int > > |
object | object_or_cast (T &&o) |
|
constexpr arg | literals::operator""_a (const char *name, size_t) |
|
#define PYBIND11_TYPE |
( |
|
... | ) |
__VA_ARGS__ |
Lets you pass a type containing a ,
through a macro parameter without needing a separate typedef, e.g.: PYBIND11_OVERRIDE(PYBIND11_TYPE(ReturnType<A, B>), PYBIND11_TYPE(Parent<C, D>), f, arg)
Definition at line 1846 of file cast.h.