Class: ArrowFormat::Org::Apache::Arrow::Flatbuf::Map
- Inherits:
-
FlatBuffers::Table
- Object
- FlatBuffers::Table
- ArrowFormat::Org::Apache::Arrow::Flatbuf::Map
- Defined in:
- lib/arrow-format/org/apache/arrow/flatbuf/map.rb
Overview
A Map is a logical nested type that is represented as
List<entries: Struct<key: K, value: V>>
In this layout, the keys and values are each respectively contiguous. We do not constrain the key and value types, so the application is responsible for ensuring that the keys are hashable and unique. Whether the keys are sorted may be set in the metadata for this field.
In a field with Map type, the field has a child Struct field, which then has two children: the key type and the value type. The names of the child fields may be respectively “entries”, “key”, and “value”, but this is not enforced.
Map “‘text
- child[0] entries: Struct
- child[0] key: K
- child[1] value: V
“‘ Neither the “entries” field nor the “key” field may be nullable.
The metadata is structured so that Arrow systems without special handling for Map can make Map an alias for List. The “layout” attribute for the Map field must have the same contents as a List.
Constant Summary collapse
- FIELDS =
{ keys_sorted?: ::FlatBuffers::Field.new(:keys_sorted?, 0, 4, :bool, 0), }
- Data =
define_data_class
Instance Method Summary collapse
-
#keys_sorted? ⇒ Boolean
Set to true if the keys within each value are sorted.
Instance Method Details
#keys_sorted? ⇒ Boolean
Set to true if the keys within each value are sorted
47 48 49 50 51 52 |
# File 'lib/arrow-format/org/apache/arrow/flatbuf/map.rb', line 47 def keys_sorted? field_offset = @view.unpack_virtual_offset(4) return false if field_offset.zero? @view.unpack_bool(field_offset) end |