## rw-vector-slice.api
# Compiled by:
#
src/lib/std/src/standard-core.sublibstipulate
package rwv = rw_vector; # rw_vector is from
src/lib/std/src/rw-vector.pkgherein
api Rw_Vector_Slice {
#
Slice(X);
length: Slice(X) -> Int;
get: (Slice(X), Int) -> X;
set: (Slice(X), Int, X) -> Void;
make_full_slice: rwv::Rw_Vector(X) -> Slice(X);
make_slice: (rwv::Rw_Vector(X), Int, Null_Or( Int )) -> Slice(X);
make_subslice: (Slice(X), Int, Null_Or( Int )) -> Slice(X);
burst_slice: Slice(X) -> (rwv::Rw_Vector(X), Int, Int);
to_vector: Slice(X) -> vector::Vector(X);
copy: { src: Slice(X), dst: rwv::Rw_Vector(X), di: Int } -> Void;
copy_vec: { src: vector_slice::Slice(X), dst: rwv::Rw_Vector(X), di: Int } -> Void;
is_empty: Slice(X) -> Bool;
get_item: Slice(X) -> Null_Or ((X, Slice(X)));
keyed_apply: ((Int, X) -> Void) -> Slice(X) -> Void;
apply: (X -> Void) -> Slice(X) -> Void;
keyed_map_in_place: ((Int, X) -> X) -> Slice(X) -> Void;
map_in_place: (X -> X) -> Slice(X) -> Void;
keyed_fold_forward: ((Int, X, Y) -> Y) -> Y -> Slice(X) -> Y;
keyed_fold_backward: ((Int, X, Y) -> Y) -> Y -> Slice(X) -> Y;
fold_forward: ((X, Y) -> Y) -> Y -> Slice(X) -> Y;
fold_backward: ((X, Y) -> Y) -> Y -> Slice(X) -> Y;
keyed_find: ((Int, X) -> Bool) -> Slice(X) -> Null_Or( (Int, X) );
find: (X -> Bool) -> Slice(X) -> Null_Or(X);
exists: (X -> Bool) -> Slice(X) -> Bool;
all: (X -> Bool) -> Slice(X) -> Bool;
compare_sequences: ((X, X) -> Order) -> (Slice(X), Slice(X)) -> Order;
};
end;
## Copyright (c) 2003 by The Fellowship of SML/NJ
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.