SML# Document Version 4.0.0
26.40 VECTOR_SLICE
Provide a type for vectors and its primitive functions.
signature VECTOR_SLICE = sig type ’a slice val all : (’a -> bool) -> ’a slice -> bool val app : (’a -> unit) -> ’a slice -> unit val appi : (int * ’a -> unit) -> ’a slice -> unit val base : ’a slice -> ’a Vector.vector * int * int val collate : (’a * ’a -> order) -> ’a slice * ’a slice -> order val concat : ’a slice list -> ’a Vector.vector val exists : (’a -> bool) -> ’a slice -> bool val find : (’a -> bool) -> ’a slice -> ’a option val findi : (int * ’a -> bool) -> ’a slice -> (int * ’a) option val foldl : (’a * ’b -> ’b) -> ’b -> ’a slice -> ’b val foldli : (int * ’a * ’b -> ’b) -> ’b -> ’a slice -> ’b val foldr : (’a * ’b -> ’b) -> ’b -> ’a slice -> ’b val foldri : (int * ’a * ’b -> ’b) -> ’b -> ’a slice -> ’b val full : ’a Vector.vector -> ’a slice val getItem : ’a slice -> (’a * ’a slice) option val isEmpty : ’a slice -> bool val length : ’a slice -> int val map : (’a -> ’b) -> ’a slice -> ’b Vector.vector val mapi : (int * ’a -> ’b) -> ’a slice -> ’b Vector.vector val slice : ’a Vector.vector * int * int option -> ’a slice val sub : ’a slice * int -> ’a val subslice : ’a slice * int * int option -> ’a slice val vector : ’a slice -> ’a Vector.vector end
Structures that implement the signature
-
•
VectorSlice :> VECTOR_SLICE
type ’a slice (= boxed)