mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-21 12:00:18 +00:00
...
This commit is contained in:
parent
c24dd51198
commit
ca1cb6a9d2
@ -150,12 +150,13 @@ inline PyObject* _any_c_wrapper(VM* vm, ArgsView args){
|
|||||||
return (*pf)(vm, args);
|
return (*pf)(vm, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<int ARGC, typename T>
|
template<typename T>
|
||||||
inline void bind_any_c_fp(VM* vm, PyObject* obj, Str name, T fp){
|
inline void bind_any_c_fp(VM* vm, PyObject* obj, Str name, T fp){
|
||||||
static_assert(std::is_pod_v<T>);
|
static_assert(std::is_pod_v<T>);
|
||||||
static_assert(std::is_pointer_v<T>);
|
static_assert(std::is_pointer_v<T>);
|
||||||
PyObject* func = VAR(NativeFunc(_any_c_wrapper, ARGC, false));
|
auto proxy = new NativeProxyFuncC(fp);
|
||||||
func->attr().set("__proxy__", VAR_T(VoidP, new NativeProxyFuncC(fp)));
|
PyObject* func = VAR(NativeFunc(_any_c_wrapper, proxy->N, false));
|
||||||
|
func->attr().set("__proxy__", VAR_T(VoidP, proxy));
|
||||||
obj->attr().set(name, func);
|
obj->attr().set(name, func);
|
||||||
}
|
}
|
||||||
} // namespace pkpy
|
} // namespace pkpy
|
Loading…
x
Reference in New Issue
Block a user