Merge pull request #289 from 16bit-ykiko/fix-capsule

update capsule.
This commit is contained in:
BLUELOVETH 2024-07-02 22:57:10 +08:00 committed by GitHub
commit 8d0e304ecd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -53,7 +53,7 @@ public:
static type of() {
return type_visitor::type<T>();
}
static type of(const handle& obj) { return type(vm->_t(obj.ptr())); }
};
@ -368,6 +368,10 @@ public:
template <typename T>
capsule(T&& value) : object(create(std::forward<T>(value))) {}
capsule(void* ptr, void (*destructor)(void*) = nullptr) : object(create(ptr, destructor)) {}
void* data() const { return self().ptr; }
template <typename T>
T& cast() const {
return *static_cast<T*>(self().ptr);