Class: Sigma::ErgoBoxCandidate

Inherits:
Object
  • Object
show all
Extended by:
FFI::Library
Defined in:
lib/sigma/ergo_box.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#pointerObject

Returns the value of attribute pointer.



143
144
145
# File 'lib/sigma/ergo_box.rb', line 143

def pointer
  @pointer
end

Class Method Details

.with_raw_pointer(pointer) ⇒ Object



145
146
147
# File 'lib/sigma/ergo_box.rb', line 145

def self.with_raw_pointer(pointer)
  init(pointer)
end

Instance Method Details

#==(ebc_two) ⇒ Object



182
183
184
# File 'lib/sigma/ergo_box.rb', line 182

def ==(ebc_two)
  ergo_lib_ergo_box_candidate_eq(self.pointer, ebc_two.pointer)
end

#get_box_valueObject



176
177
178
179
180
# File 'lib/sigma/ergo_box.rb', line 176

def get_box_value
  pointer = FFI::MemoryPointer.new(:pointer)
  ergo_lib_ergo_box_candidate_box_value(self.pointer, pointer)
  Sigma::BoxValue.with_raw_pointer(pointer)
end

#get_creation_heightObject



160
161
162
# File 'lib/sigma/ergo_box.rb', line 160

def get_creation_height
  ergo_lib_ergo_box_candidate_creation_height(self.pointer)
end

#get_ergo_treeObject



170
171
172
173
174
# File 'lib/sigma/ergo_box.rb', line 170

def get_ergo_tree
  pointer = FFI::MemoryPointer.new(:pointer)
  ergo_lib_ergo_box_candidate_ergo_tree(self.pointer, pointer)
  Sigma::ErgoTree.with_raw_pointer(pointer)
end

#get_register_value(register_id) ⇒ Object



149
150
151
152
153
154
155
156
157
158
# File 'lib/sigma/ergo_box.rb', line 149

def get_register_value(register_id)
  constant_ptr = FFI::MemoryPointer.new(:pointer)
  res = ergo_lib_ergo_box_candidate_register_value(self.pointer, register_id, constant_ptr)
  Util.check_error!(res[:error])
  if res[:is_some]
    Sigma::Constant.with_raw_pointer(constant_ptr)
  else
    nil
  end
end

#get_tokensObject



164
165
166
167
168
# File 'lib/sigma/ergo_box.rb', line 164

def get_tokens
  pointer = FFI::MemoryPointer.new(:pointer)
  ergo_lib_ergo_box_candidate_tokens(self.pointer, pointer)
  Sigma::Tokens.with_raw_pointer(pointer)
end