mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-26 07:02:11 +00:00
cast(): use cast_op_type mechanism
This commit is contained in:
parent
65f0c2aeb7
commit
aadc2f3d8c
@ -764,10 +764,11 @@ public:
|
||||
NAMESPACE_END(detail)
|
||||
|
||||
template <typename T> inline T cast(handle handle) {
|
||||
detail::type_caster<typename detail::intrinsic_type<T>::type> conv;
|
||||
typedef detail::type_caster<typename detail::intrinsic_type<T>::type> type_caster;
|
||||
type_caster conv;
|
||||
if (!conv.load(handle, true))
|
||||
throw cast_error("Unable to cast Python object to C++ type");
|
||||
return (T) conv;
|
||||
return conv.operator typename type_caster::template cast_op_type<T>();
|
||||
}
|
||||
|
||||
template <typename T> inline object cast(const T &value, return_value_policy policy = return_value_policy::automatic_reference, handle parent = handle()) {
|
||||
|
Loading…
Reference in New Issue
Block a user