mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
up
This commit is contained in:
parent
234ec85fc6
commit
f83eecde71
@ -443,7 +443,7 @@ T py_pointer_cast(VM* vm, const PyVar& var){
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
std::enable_if_t<std::is_pointer_v<T>, PyVar>
|
std::enable_if_t<std::is_pointer_v<std::decay_t<T>>, PyVar>
|
||||||
py_var(VM* vm, T p){
|
py_var(VM* vm, T p){
|
||||||
const TypeInfo* type = _type_db.get<typename pointer<T>::baseT>();
|
const TypeInfo* type = _type_db.get<typename pointer<T>::baseT>();
|
||||||
return VAR_T(Pointer, type, pointer<T>::level, (char*)p);
|
return VAR_T(Pointer, type, pointer<T>::level, (char*)p);
|
||||||
|
@ -186,8 +186,8 @@ struct Discarded {};
|
|||||||
template<typename __T>
|
template<typename __T>
|
||||||
__T py_cast(VM* vm, const PyVar& obj) {
|
__T py_cast(VM* vm, const PyVar& obj) {
|
||||||
using T = std::decay_t<__T>;
|
using T = std::decay_t<__T>;
|
||||||
if constexpr(std::is_pointer_v<__T>){
|
if constexpr(std::is_pointer_v<T>){
|
||||||
return py_pointer_cast<__T>(vm, obj);
|
return py_pointer_cast<T>(vm, obj);
|
||||||
}else if constexpr(is_py_class<T>::value){
|
}else if constexpr(is_py_class<T>::value){
|
||||||
_check_py_class<T>(vm, obj);
|
_check_py_class<T>(vm, obj);
|
||||||
return OBJ_GET(T, obj);
|
return OBJ_GET(T, obj);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user