класс Fiddle::Pinned
Публичные методы класса
Исходный код
# File ext/fiddle/lib/fiddle/ffi_backend.rb, line 557 def initialize(object) @object = object end
Исходный код
static VALUE
initialize(VALUE self, VALUE ref)
{
struct pinned_data *data;
TypedData_Get_Struct(self, struct pinned_data, &pinned_data_type, data);
RB_OBJ_WRITE(self, &data->ptr, ref);
return self;
} Создать новую ссылку на закреплённый объект. Экземпляр Fiddle::Pinned предотвратит перемещение объекта GC object.
Публичные методы экземпляра
Исходный код
# File ext/fiddle/lib/fiddle/ffi_backend.rb, line 568 def clear @object = nil end
Очистить ссылку на закреплённый объект.
Исходный код
# File ext/fiddle/lib/fiddle/ffi_backend.rb, line 572 def cleared? @object.nil? end
Возвращает true, если ссылка очищена, иначе возвращает false.
Исходный код
# File ext/fiddle/lib/fiddle/ffi_backend.rb, line 561
def ref
if @object.nil?
raise ClearedReferenceError, "`ref` called on a cleared object"
end
@object
end Возвращает объект, на который ссылается этот закреплённый экземпляр.
Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.