Class: Oso::Polar::FFI::RustString

Inherits:
FFI::AutoPointer
  • Object
show all
Defined in:
lib/oso/polar/ffi.rb,
lib/oso/polar/ffi/rust_string.rb

Overview

Wrapper class for Rust strings.

Since we force all strings to go through this the AutoPointer class will handle actually freeing the string when deleting it

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.release(ptr) ⇒ Object



52
53
54
# File 'lib/oso/polar/ffi.rb', line 52

def self.release(ptr)
  Rust.free(ptr) unless ptr.null?
end

Instance Method Details

#to_sString

Returns:

  • (String)


15
16
17
# File 'lib/oso/polar/ffi/rust_string.rb', line 15

def to_s
  @to_s ||= read_string.force_encoding('UTF-8')
end

#zero?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'lib/oso/polar/ffi.rb', line 48

def zero?
  null?
end