tur/slice
stdlib/slice.tur
defn
slice-new
(slice-new [data length])
create a slice view over an existing contiguous int64 array.
Parameters
| data | pointer to the first element of the underlying array | |
| length | number of elements in the view |
Example
An opaque slice handle; free with slice-free when done. (def s (slice-new arr 4)) ; view of first 4 elements
defn
slice-len
(slice-len [s] :int)
return the number of elements in the slice.
Parameters
| s | slice handle from slice-new |
Example
Element count as :int. (slice-len s) ; => 4
defn
slice-get
(slice-get [s i] :int)
bounds-checked element access; aborts on out-of-range index.
Parameters
| s | slice handle from slice-new | |
| i | zero-based index (must be 0 <= i < slice-len s) |
Example
The int64 value at position i. (slice-get s 0) ; => first element
defn
slice-free
(slice-free [s])
free the slice header struct; does NOT free the underlying data.
Parameters
| s | slice handle from slice-new |
definstance
Functor[ptr<void>]
(definstance Functor [ptr<void>])
Functor instance for slice<T> via ptr<void> representation.
Since: Phase HKT H3
definstance
Foldable[ptr<void>]
(definstance Foldable [ptr<void>])
Foldable instance for slice<T> via ptr<void> representation.
Since: Phase HKT H3
definstance
Traversable[ptr<void>]
(definstance Traversable [ptr<void>])
Traversable instance for slice<T> via ptr<void> representation.
Since: Phase HKT H3
Internal definitions
__functor_slice_fmap-- SINCE: Phase HKT H3__foldable_slice_foldl-- internal left-fold over a slice: accumulate from left using fn(acc, elem).__foldable_slice_foldr-- internal right-fold over a slice: accumulate from right using fn(elem, acc).__traversable_slice_traverse-- internal Traversable traverse for slice: apply fn to each element (v1: same as fmap).