class RbSDL2::RefCountPointer
Public Class Methods
entity_class()
click to toggle source
# File lib/rb_sdl2/ref_count_pointer.rb, line 4 def entity_class raise NotImplementedError end
to_ptr(ptr)
click to toggle source
# File lib/rb_sdl2/ref_count_pointer.rb, line 8 def to_ptr(ptr) raise ArgumentError, 'Invalid pointer, ptr is NULL' if ptr.null? # refcount の増加を AutoPointer 化する前に成功させる必要がある。 # AutoPointer になった後に失敗すると、GC に回収されたとき refcount が実際の参照数より少なくなる。 entity_class.new(ptr)[:refcount] += 1 new(ptr) end
Public Instance Methods
refcount(= self.class.entity_class.new(self)[:refcount])
click to toggle source
for debug
# File lib/rb_sdl2/ref_count_pointer.rb, line 18 def refcount = self.class.entity_class.new(self)[:refcount] end