module Inline::C::Pointer
Attributes
ruby_managed[R]
Public Class Methods
new(memory_address, ruby_managed=false)
click to toggle source
# File lib/inline_acceleration.rb, line 436 def initialize(memory_address, ruby_managed=false) @memory_address = ValueSafe.new() @memory_address.value = memory_address @ruby_managed = ruby_managed if ruby_managed @@registered_pointers[self.object_id] = memory_address ObjectSpace.define_finalizer(self, lambda { |id| memory_address = @@registered_pointers.delete(id) if !@@registered_pointers.has_value?(memory_address) Inline::C.internal_c_functions_module.C_Pointer_free_memory(memory_address) end }) end end
Public Instance Methods
==(other)
click to toggle source
# File lib/inline_acceleration.rb, line 456 def ==(other) (other.is_a? Pointer) && Inline::C.internal_c_functions_module.C_Pointer_equals(self.memory_address, other.memory_address) end
memory_address()
click to toggle source
# File lib/inline_acceleration.rb, line 452 def memory_address @memory_address.value end