|
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 > |
| Type caster for holder types like std::shared_ptr, etc. More...
|
|
struct | function_call |
| Internal data associated with a single function call. More...
|
|
struct | handle_type_name< T > |
|
struct | handle_type_name< args > |
|
struct | handle_type_name< bytes > |
|
struct | handle_type_name< int_ > |
|
struct | handle_type_name< iterable > |
|
struct | handle_type_name< iterator > |
|
struct | handle_type_name< kwargs > |
|
struct | handle_type_name< none > |
|
struct | holder_helper< T > |
|
struct | is_copy_assignable< T, SFINAE > |
|
struct | is_copy_assignable< Container, enable_if_t< all_of< std::is_copy_assignable< Container >, std::is_same< typename Container::value_type &, typename Container::reference > >::value > > |
|
struct | is_copy_assignable< std::pair< T1, T2 > > |
|
struct | is_copy_constructible< T, SFINAE > |
|
struct | is_copy_constructible< Container, enable_if_t< all_of< std::is_copy_constructible< Container >, std::is_same< typename Container::value_type &, typename Container::reference >, negation< std::is_same< Container, typename Container::value_type > > >::value > > |
|
struct | is_copy_constructible< std::pair< T1, T2 > > |
|
struct | is_holder_type< base, holder > |
|
struct | is_holder_type< base, std::unique_ptr< base, deleter > > |
|
struct | values_and_holders::iterator |
|
struct | kw_only |
|
class | loader_life_support |
|
struct | move_always< T, SFINAE > |
|
struct | move_always< T, enable_if_t< all_of< move_is_plain_type< T >, negation< is_copy_constructible< T > >, std::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 > >, std::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 > |
|
struct | override_unused |
|
struct | polymorphic_type_hook< itype, SFINAE > |
|
struct | polymorphic_type_hook_base< itype, SFINAE > |
|
struct | polymorphic_type_hook_base< itype, detail::enable_if_t< std::is_polymorphic< itype >::value > > |
|
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 | type_caster_base< type > |
| Generic type caster for objects stored on the heap. More...
|
|
class | type_caster_generic |
|
class | unpacking_collector< policy > |
| Helper class which collects positional, keyword, * and ** arguments for a Python function call. More...
|
|
struct | value_and_holder |
|
struct | values_and_holders |
|
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 | cast_op_type = conditional_t< std::is_pointer< remove_reference_t< T >>::value, typename std::add_pointer< intrinsic_t< T >>::type, typename std::add_lvalue_reference< intrinsic_t< T >>::type > |
|
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 | movable_cast_op_type = conditional_t< std::is_pointer< typename std::remove_reference< T >::type >::value, typename std::add_pointer< intrinsic_t< T >>::type, conditional_t< std::is_rvalue_reference< T >::value, typename std::add_rvalue_reference< intrinsic_t< T >>::type, typename std::add_lvalue_reference< intrinsic_t< 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 >> |
|
|
const std::vector< detail::type_info * > & | all_type_info (PyTypeObject *type) |
|
std::pair< decltype(internals::registered_types_py)::iterator, bool > | all_type_info_get_cache (PyTypeObject *type) |
|
PYBIND11_NOINLINE void | all_type_info_populate (PyTypeObject *t, std::vector< type_info * > &bases) |
|
template<typename T , detail::enable_if_t<!detail::is_pyobject< T >::value, int > = 0> |
T | cast (const handle &handle) |
|
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()) |
|
template<typename T > |
detail::enable_if_t< detail::move_always< T >::value, T > | cast (object &&object) |
|
template<typename T > |
detail::enable_if_t< detail::move_if_unreferenced< T >::value, T > | cast (object &&object) |
|
template<typename T > |
detail::enable_if_t< detail::move_never< T >::value, T > | cast (object &&object) |
|
template<typename T > |
make_caster< T >::template cast_op_type< T > | cast_op (make_caster< T > &caster) |
|
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 > |
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, T > | cast_ref (object &&, override_unused &) |
|
template<typename T > |
enable_if_t<!cast_is_temporary_value_reference< T >::value, T > | cast_safe (object &&o) |
|
template<typename T > |
enable_if_t< cast_is_temporary_value_reference< T >::value, T > | cast_safe (object &&) |
|
template<> |
void | cast_safe< void > (object &&) |
|
template<return_value_policy policy, typename... Args, typename = enable_if_t<all_of<is_positional<Args>...>::value>> |
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<!all_of<is_positional<Args>...>::value>> |
unpacking_collector< policy > | collect_arguments (Args &&...args) |
| Collect all arguments, including keywords and unpacking (only instantiated when needed) More...
|
|
PYBIND11_NOINLINE std::string | error_string () |
|
detail::type_info * | get_global_type_info (const std::type_index &tp) |
|
detail::type_info * | get_local_type_info (const std::type_index &tp) |
|
PYBIND11_NOINLINE handle | get_object_handle (const void *ptr, const detail::type_info *type) |
|
PyThreadState * | get_thread_state_unchecked () |
|
PYBIND11_NOINLINE handle | get_type_handle (const std::type_info &tp, bool throw_if_missing) |
|
PYBIND11_NOINLINE detail::type_info * | get_type_info (PyTypeObject *type) |
|
PYBIND11_NOINLINE detail::type_info * | get_type_info (const std::type_index &tp, bool throw_if_missing=false) |
| Return the type info for a given C++ type; on lookup failure can either throw or return nullptr. More...
|
|
PYBIND11_NOINLINE bool | isinstance_generic (handle obj, const std::type_info &tp) |
|
void | keep_alive_impl (handle nurse, handle patient) |
|
template<typename T , typename SFINAE > |
type_caster< T, SFINAE > & | load_type (type_caster< T, SFINAE > &conv, const handle &handle) |
|
template<typename T > |
make_caster< T > | load_type (const handle &handle) |
|
PyObject * | make_new_instance (PyTypeObject *type) |
|
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) |
|