Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | signature MONO_ARRAY = |
2 | sig | |
3 | eqtype array | |
4 | type elem | |
5 | type vector | |
6 | ||
7 | val all: (elem -> bool) -> array -> bool | |
8 | val app: (elem -> unit) -> array -> unit | |
9 | val appi: (int * elem -> unit) -> array -> unit | |
10 | val array: int * elem -> array | |
11 | val collate: (elem * elem -> order) -> array * array -> order | |
12 | val copy: {src: array, dst: array, di: int} -> unit | |
13 | val copyVec: {src: vector, dst: array, di: int} -> unit | |
14 | val exists: (elem -> bool) -> array -> bool | |
15 | val find: (elem -> bool) -> array -> elem option | |
16 | val findi: (int * elem -> bool) -> array -> (int * elem) option | |
17 | val foldl: (elem * 'b -> 'b) -> 'b -> array -> 'b | |
18 | val foldli: (int * elem * 'b -> 'b) -> 'b -> array -> 'b | |
19 | val foldr: (elem * 'b -> 'b) -> 'b -> array -> 'b | |
20 | val foldri: (int * elem * 'b -> 'b) -> 'b -> array -> 'b | |
21 | val fromList: elem list -> array | |
22 | val length: array -> int | |
23 | val maxLen: int | |
24 | val modify: (elem -> elem) -> array -> unit | |
25 | val modifyi: (int * elem -> elem) -> array -> unit | |
26 | val sub: array * int -> elem | |
27 | val tabulate: int * (int -> elem) -> array | |
28 | val update: array * int * elem -> unit | |
29 | val vector: array -> vector | |
30 | end | |
31 | ||
32 | signature MONO_ARRAY_EXTRA = | |
33 | sig | |
34 | include MONO_ARRAY | |
35 | type vector_slice | |
36 | structure MonoArraySlice: MONO_ARRAY_SLICE_EXTRA | |
37 | where type elem = elem | |
38 | and type array = array | |
39 | and type vector = vector | |
40 | and type vector_slice = vector_slice | |
41 | ||
42 | val alloc: int -> array | |
43 | val uninitIsNop: array -> bool | |
44 | val uninit: array * int -> unit | |
45 | ||
46 | val concat: array list -> array | |
47 | val duplicate: array -> array | |
48 | val fromPoly: elem Array.array -> array | |
49 | val toList: array -> elem list | |
50 | val toPoly: array -> elem Array.array | |
51 | val unfoldi: int * 'a * (int * 'a -> elem * 'a) -> array * 'a | |
52 | ||
53 | val unsafeAlloc: int -> array | |
54 | val unsafeSub: array * int -> elem | |
55 | val unsafeUninit: array * int -> unit | |
56 | val unsafeUpdate: array * int * elem -> unit | |
57 | end |