Lines Matching refs:detail

14 #include "detail/typeid.h"
15 #include "detail/descr.h"
16 #include "detail/internals.h"
36 NAMESPACE_BEGIN(detail)
146 inline const std::vector<detail::type_info *> &all_type_info(PyTypeObject *type) {
160 PYBIND11_NOINLINE inline detail::type_info* get_type_info(PyTypeObject *type) {
165 pybind11_fail("pybind11::detail::get_type_info: type has multiple pybind11-registered bases");
169 inline detail::type_info *get_local_type_info(const std::type_index &tp) {
177 inline detail::type_info *get_global_type_info(const std::type_index &tp) {
186 PYBIND11_NOINLINE inline detail::type_info *get_type_info(const std::type_index &tp,
195 detail::clean_type_id(tname);
196 pybind11_fail("pybind11::detail::get_type_info: unable to find type info for \"" + tname + "\"");
202 detail::type_info *type_info = get_type_info(tp, throw_if_missing);
209 const detail::type_info *type = nullptr;
213 value_and_holder(instance *i, const detail::type_info *type, size_t vpos, size_t index) :
265 using type_vec = std::vector<detail::type_info *>;
327 detail::values_and_holders vhs(this);
336 pybind11_fail("pybind11::detail::instance::get_value_and_holder: "
340 pybind11_fail("pybind11::detail::instance::get_value_and_holder: `" +
400 handle type = detail::get_type_handle(tp, false);
453 PYBIND11_NOINLINE inline handle get_object_handle(const void *ptr, const detail::type_info *type ) {
496 const detail::type_info *tinfo,
509 for (auto instance_type : detail::all_type_info(Py_TYPE(it_i->second))) {
730 detail::clean_type_id(tname);
790 NAMESPACE_END(detail)
815 struct polymorphic_type_hook<itype, detail::enable_if_t<std::is_polymorphic<itype>::value>>
823 NAMESPACE_BEGIN(detail)
883 template <typename T> using cast_op_type = detail::cast_op_type<T>;
961 template <typename T_> using cast_op_type = pybind11::detail::movable_cast_op_type<T_>
1357 template <typename _T> using cast_op_type = pybind11::detail::cast_op_type<_T>;
1491 template <typename T = holder_type, detail::enable_if_t<!std::is_constructible<T, const T &, type*>::value, int> = 0>
1494 template <typename T = holder_type, detail::enable_if_t<std::is_constructible<T, const T &, type*>::value, int> = 0>
1542 namespace pybind11 { namespace detail { \
1552 std::is_base_of<detail::type_caster_holder<base, holder>, detail::type_caster<holder>> {};
1630 detail::enable_if_t<std::is_base_of<type_caster_generic, make_caster<Return>>::value, void>> {
1657 NAMESPACE_END(detail)
1660 template <typename T, detail::enable_if_t<!detail::is_pyobject<T>::value, int> = 0>
1662 using namespace detail;
1669 template <typename T, detail::enable_if_t<detail::is_pyobject<T>::value, int> = 0>
1673 template <typename T, detail::enable_if_t<!detail::is_pyobject<T>::value, int> = 0>
1680 return reinterpret_steal<object>(detail::make_caster<T>::cast(value, policy, parent));
1687 detail::enable_if_t<!detail::move_never<T>::value, T> move(object &&obj) {
1698 T ret = std::move(detail::load_type<T>(obj).operator T&());
1707 template <typename T> detail::enable_if_t<detail::move_always<T>::value, T> cast(object &&object) {
1710 template <typename T> detail::enable_if_t<detail::move_if_unreferenced<T>::value, T> cast(object &&object) {
1716 template <typename T> detail::enable_if_t<detail::move_never<T>::value, T> cast(object &&object) {
1725 NAMESPACE_BEGIN(detail)
1752 NAMESPACE_END(detail)
1761 { reinterpret_steal<object>(detail::make_caster<Args>::cast(
1807 detail::make_caster<T>::cast(x, return_value_policy::automatic, {})
1855 NAMESPACE_BEGIN(detail)
1999 auto o = reinterpret_steal<object>(detail::make_caster<T>::cast(std::forward<T>(x), policy, {}));
2010 void process(list &args_list, detail::args_proxy ap) {
2040 void process(list &/*args_list*/, detail::kwargs_proxy kp) {
2112 return detail::collect_arguments<policy>(std::forward<Args>(args)...).call(derived().ptr());
2121 NAMESPACE_END(detail)
2124 namespace pybind11 { namespace detail { \