1 signature VECTOR_GLOBAL =
3 type 'a vector = 'a vector
11 val fromList: 'a list -> 'a vector
12 val tabulate: int * (int -> 'a) -> 'a vector
13 val length: 'a vector -> int
14 val sub: 'a vector * int -> 'a
15 val update: 'a vector * int * 'a -> 'a vector
16 val concat: 'a vector list -> 'a vector
17 val appi: (int * 'a -> unit) -> 'a vector -> unit
18 val app: ('a -> unit) -> 'a vector -> unit
19 val mapi : (int * 'a -> 'b) -> 'a vector -> 'b vector
20 val map: ('a -> 'b) -> 'a vector -> 'b vector
21 val foldli: (int * 'a * 'b -> 'b) -> 'b -> 'a vector -> 'b
22 val foldri: (int * 'a * 'b -> 'b) -> 'b -> 'a vector -> 'b
23 val foldl: ('a * 'b -> 'b) -> 'b -> 'a vector -> 'b
24 val foldr: ('a * 'b -> 'b) -> 'b -> 'a vector -> 'b
25 val findi: (int * 'a -> bool) -> 'a vector -> (int * 'a) option
26 val find: ('a -> bool) -> 'a vector -> 'a option
27 val exists: ('a -> bool) -> 'a vector -> bool
28 val all: ('a -> bool) -> 'a vector -> bool
29 val collate: ('a * 'a -> order) -> 'a vector * 'a vector -> order
32 signature VECTOR_EXTRA =
35 structure VectorSlice: VECTOR_SLICE_EXTRA
37 val copy: {dst: 'a Array.array, di: int, src: 'a vector} -> unit
39 val unsafeFromArray: 'a array -> 'a vector
40 val unsafeSub: 'a vector * int -> 'a
41 val unsafeCopy: {dst: 'a Array.array, di: int, src: 'a vector} -> unit
43 (* Used to implement Substring/String functions *)
44 val concatWith: 'a vector -> 'a vector list -> 'a vector
45 val isPrefix: ('a * 'a -> bool) -> 'a vector -> 'a vector -> bool
46 val isSubvector: ('a * 'a -> bool) -> 'a vector -> 'a vector -> bool
47 val isSuffix: ('a * 'a -> bool) -> 'a vector -> 'a vector -> bool
48 val translate: ('a -> 'b vector) -> 'a vector -> 'b vector
49 val tokens: ('a -> bool) -> 'a vector -> 'a vector list
50 val fields: ('a -> bool) -> 'a vector -> 'a vector list
52 val append: 'a vector * 'a vector -> 'a vector
53 val create: int -> {done: unit -> 'a vector,
55 update: int * 'a -> unit}
56 val duplicate: 'a vector -> 'a vector
57 val toList: 'a vector -> 'a list
58 val unfoldi: int * 'b * (int * 'b -> 'a * 'b) -> 'a vector * 'b
59 val unfold: int * 'b * ('b -> 'a * 'b) -> 'a vector * 'b
60 val vector: int * 'a -> 'a vector