PreviousUpNext

15.3.541  src/lib/std/src/typelocked-rw-vector-slice.api

## typelocked-rw-vector-slice.api

# Compiled by:
#     src/lib/std/src/standard-core.sublib



api Typelocked_Rw_Vector_Slice {

    Element;
    Rw_Vector;
    Slice;
    Vector;
    Vector_Slice;

    length:   Slice -> Int;
    get:     (Slice, Int) -> Element;
    set:     (Slice, Int, Element) -> Void;

    make_full_slice:  Rw_Vector                       -> Slice;
    make_slice:      (Rw_Vector, Int, Null_Or( Int )) -> Slice;
    make_subslice:   (Slice, Int, Null_Or( Int ))     -> Slice;

    base:       Slice -> (Rw_Vector, Int, Int);
    to_vector:  Slice -> Vector;

    copy:     { from: Slice,         to: Rw_Vector,  di: Int } -> Void;
    copy_vec: { from: Vector_Slice,  to: Rw_Vector,  di: Int } -> Void;

    is_empty:  Slice -> Bool;
    get_item:  Slice -> Null_Or( (Element, Slice) );

    keyed_apply:     ((Int, Element) -> Void) -> Slice -> Void;
    apply:      (Element -> Void) -> Slice -> Void;
    modifyi:  ((Int, Element) -> Element) -> Slice -> Void;
    modify:   (Element -> Element) -> Slice -> Void;

    keyed_fold_left:  ((Int, Element, X) -> X) -> X -> Slice -> X;
    keyed_fold_right:  ((Int, Element, X) -> X) -> X -> Slice -> X;
    fold_left:   ((Element, X) -> X) -> X -> Slice -> X;
    fold_right:   ((Element, X) -> X) -> X -> Slice -> X;

    findi:   ((Int, Element) -> Bool) -> Slice -> Null_Or ((Int, Element));
    find:    (Element -> Bool) -> Slice -> Null_Or( Element );
    exists:  (Element -> Bool) -> Slice -> Bool;
    all:     (Element -> Bool) -> Slice -> Bool;
    collate: ((Element, Element) -> Order) -> (Slice, Slice) -> Order;

};


## Copyright (c) 2003 by The Fellowship of SML/NJ
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2012,
## released under Gnu Public Licence version 3.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext