signature VECTOR
structure Vector : VECTOR
An extended version of the Standard ML Basis' Vector structure.
See also: VectorSlice, VectorPair, MONO_VECTOR, Array
Imported implicitly.
signature VECTOR =
sig
eqtype 'a vector
type 'a t = 'a vector
val maxLen : int
val toList : 'a vector -> 'a list
val fromList : 'a list -> 'a vector
val tabulate : int * (int -> 'a) -> 'a vector
val length : 'a vector -> int
val sub : 'a vector * int -> 'a
val update : 'a vector * int * 'a -> 'a vector
val concat : 'a vector list -> 'a vector
val rev : 'a vector -> 'a vector
val app : ('a -> unit) -> 'a vector -> unit
val appr : ('a -> unit) -> 'a vector -> unit
val map : ('a -> 'b) -> 'a vector -> 'b vector
val foldl : ('a * 'b -> 'b) -> 'b -> 'a vector -> 'b
val foldr : ('a * 'b -> 'b) -> 'b -> 'a vector -> 'b
val all : ('a -> bool) -> 'a vector -> bool
val exists : ('a -> bool) -> 'a vector -> bool
val find : ('a -> bool) -> 'a vector -> 'a option
val appi : (int * 'a -> unit) -> 'a vector -> unit
val appri : (int * 'a -> unit) -> 'a vector -> unit
val mapi : (int * 'a -> 'b) -> 'a vector -> 'b vector
val foldli : (int * 'a * 'b -> 'b) -> 'b -> 'a vector -> 'b
val foldri : (int * 'a * 'b -> 'b) -> 'b -> 'a vector -> 'b
val alli : (int * 'a -> bool) -> 'a vector -> bool
val existsi : (int * 'a -> bool) -> 'a vector -> bool
val findi : (int * 'a -> bool) -> 'a vector -> (int * 'a) option
val contains : ''a vector -> ''a -> bool
val notContains : ''a vector -> ''a -> bool
val equal : ('a * 'a -> bool) -> 'a vector * 'a vector -> bool
val collate : ('a * 'a -> order) -> 'a vector * 'a vector -> order
val isSorted : ('a * 'a -> order) -> 'a vector -> bool
val sort : ('a * 'a -> order) -> 'a vector -> 'a vector
end
Items not described here are as in the Standard ML Basis' Vector structure.
A local synonym for type vector.
Creates a list of the elements of vec in order of increasing indices.
Returns a vector that contains the elements of vec in reverse order.
Like app and appi, but apply f in right to left order (i.e., decreasing indices). The expression appr f vec is equivalent to:
appri (f o #2) vec
Indexed versions of the functions all and exists. The index of each element is passed to f as an additional argument. The following equivalences hold:
all f vec = alli (f o #2) vec
exists f vec = existsi (f o #2) vec
Returns true if the element a occurs in the vector vec; otherwise false.
Returns true if the element a does not occur in the vector vec; otherwise false. Equivalent to not(contains vec a).
Creates an equality function on vectors given an equality on the element type.
Returns true iff vec is sorted with respect to the ordering function f.
Returns a new vector that contains the same elements as vec, but sorted with respect to the ordering function f. Sorting may be unstable with respect to equal elements.