Class: SGC::Memory::MemoryPointer
- Inherits:
-
Object
- Object
- SGC::Memory::MemoryPointer
- Defined in:
- lib/memory/pointer.rb
Overview
A memory pointer class. TODO: To use #write_pointer() when FFI fix the use of FIX2INT().
Instance Method Summary (collapse)
-
- (Object) initialize(addr = nil)
constructor
A memory pointer pointing to address addr.
-
- (MemoryPointer) offset(index)
A memory pointer pointing to the index byte.
-
- (Object) ptr
The internal pointer representation.
-
- (Object) ptr=(addr)
Set this pointer to point to memory address addr.
-
- (Object) ref
The internal representation of a pointer pointing to this memory pointer.
Constructor Details
- (Object) initialize(addr = nil)
A memory pointer pointing to address addr.
37 38 39 40 |
# File 'lib/memory/pointer.rb', line 37 def initialize(addr = nil) @p = FFI::MemoryPointer.new(:pointer) @p.write_long(addr.to_i) end |
Instance Method Details
- (MemoryPointer) offset(index)
A memory pointer pointing to the index byte.
59 60 61 |
# File 'lib/memory/pointer.rb', line 59 def offset(index) MemoryPointer.new(@p.read_pointer.to_i + index) end |
- (Object) ptr
The internal pointer representation.
44 45 46 |
# File 'lib/memory/pointer.rb', line 44 def ptr @p.read_pointer end |
- (Object) ptr=(addr)
Set this pointer to point to memory address addr.
52 53 54 |
# File 'lib/memory/pointer.rb', line 52 def ptr=(addr) @p.write_long(addr.to_i) end |
- (Object) ref
The internal representation of a pointer pointing to this memory pointer.
65 66 67 |
# File 'lib/memory/pointer.rb', line 65 def ref @p end |