Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | signature MONO_ARRAY_SLICE = |
2 | sig | |
3 | type array | |
4 | type elem | |
5 | type slice | |
6 | type vector | |
7 | type vector_slice | |
8 | ||
9 | val length: slice -> int | |
10 | val sub: slice * int -> elem | |
11 | val update: slice * int * elem -> unit | |
12 | val full: array -> slice | |
13 | val slice: array * int * int option -> slice | |
14 | val subslice: slice * int * int option -> slice | |
15 | val base: slice -> array * int * int | |
16 | val vector: slice -> vector | |
17 | val copy: {src: slice, dst: array, di: int} -> unit | |
18 | val copyVec: {src: vector_slice, dst: array, di: int} -> unit | |
19 | val isEmpty: slice -> bool | |
20 | val getItem: slice -> (elem * slice) option | |
21 | val appi: (int * elem -> unit) -> slice -> unit | |
22 | val app: (elem -> unit) -> slice -> unit | |
23 | val modifyi: (int * elem -> elem) -> slice -> unit | |
24 | val modify: (elem -> elem) -> slice -> unit | |
25 | val foldli: (int * elem * 'b -> 'b) -> 'b -> slice -> 'b | |
26 | val foldr: (elem * 'b -> 'b) -> 'b -> slice -> 'b | |
27 | val foldl: (elem * 'b -> 'b) -> 'b -> slice -> 'b | |
28 | val foldri: (int * elem * 'b -> 'b) -> 'b -> slice -> 'b | |
29 | val findi: (int * elem -> bool) -> slice -> (int * elem) option | |
30 | val find: (elem -> bool) -> slice -> elem option | |
31 | val exists: (elem -> bool) -> slice -> bool | |
32 | val all: (elem -> bool) -> slice -> bool | |
33 | val collate: (elem * elem -> order) -> slice * slice -> order | |
34 | end | |
35 | ||
36 | signature MONO_ARRAY_SLICE_EXTRA = | |
37 | sig | |
38 | include MONO_ARRAY_SLICE | |
39 | ||
40 | val concat: slice list -> array | |
41 | val toList: slice -> elem list | |
42 | val toPoly: slice -> elem ArraySlice.slice | |
43 | val uninitIsNop: slice -> bool | |
44 | val uninit: slice * int -> unit | |
45 | val unsafeSlice: array * int * int option -> slice | |
46 | val unsafeSub: slice * int -> elem | |
47 | val unsafeSubslice: slice * int * int option -> slice | |
48 | val unsafeUninit: slice * int -> unit | |
49 | val unsafeUpdate: slice * int * elem -> unit | |
50 | end |