struct Candiru::StructInstance
- Candiru::StructInstance
- Struct
- Value
- Object
Overview
Represents a live struct instance, pointed to by #pointer
and described by #scaffolding
.
point_struct = StructScaffolding[Int32, Int32]
point = point_struct.new { |s| s << 12; s << 34 }
# point : StructInstance
puts point.sum(&.value.raw) # 46
Included Modules
- Candiru::ValueInstance(UInt64)
- Indexable(Candiru::IValueInstanceType)
Extended Modules
Defined in:
candiru.crConstructors
Class Method Summary
Instance Method Summary
- #clone
- #copy_with(scaffolding _scaffolding = @scaffolding, pointer _pointer = @pointer)
- #pointer : Pointer(Void)
-
#raw : UInt64
Returns raw content of this value instance.
- #scaffolding : StructScaffolding
-
#size
Returns the number of elements in this container.
-
#to_ffi_argument_pointer : Pointer(Void)
Returns an FFI argument pointer for this value instance.
- #to_s(io)
-
#unsafe_fetch(index : Int)
Returns the element at the given index, without doing any bounds check.
Instance methods inherited from module Candiru::ValueInstance(UInt64)
raw : T
raw
Instance methods inherited from module Candiru::IValueInstanceType
to_ffi_argument_pointer : Pointer(Void)
to_ffi_argument_pointer
Constructor Detail
Class Method Detail
Instance Method Detail
Returns raw content of this value instance.
Returns the number of elements in this container.
Returns an FFI argument pointer for this value instance.
Returns the element at the given index, without doing any bounds check.
Indexable
makes sure to invoke this method with index in 0...size
,
so converting negative indices to positive ones is not needed here.
Clients never invoke this method directly. Instead, they access
elements with #[](index)
and #[]?(index)
.
This method should only be directly invoked if you are absolutely sure the index is in bounds, to avoid a bounds check for a small boost of performance.