An array of flat tuples.
A flat tuple is like an ordinary OCaml tuple, except it is second class and mutable.
The flat tuples in a
Flat_array.t are layed out sequentially in a single array, with
each flat tuple's components immediately following the components of the prior flat
tuple. A flat tuple is not first class -- one can only refer to a flat tuple via its
index in the array holding it. Flat tuples are mutable via
The type of a flat-tuple array.
'slots will look like
('a1, ..., 'an) Slots.tn,
and the array holds flat tuples of type
'a1 * ... * 'an.
set_to_init t i sets flat tuple
i to the
init that was supplied to
is_init t i returns
true iff flat tuple
i's slots are identical to those of
init supplied to
get_all_slots t i allocates a new ordinary OCaml tuple whose components are equal to
the slots of the flat tuple at index
t. This is esentially an allocation
plus a blit from
t to the newly allocated tuple.
set_all_slots t i tuple sets all slots of the flat tuple at index
their corresponding components of
tuple. This is essentially a blit from
It is required that
0 <= i < length t.