PreviousUpNext

15.3.558  src/lib/std/src/typelocked-vector-slice.api

## typelocked-vector-slice.api

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



api Typelocked_Vector_Slice {
    #
    Element;
    Vector;
    Slice;

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

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

    burst_slice:    Slice   -> (Vector, Int, Int);
    to_vector:    Slice   -> Vector;
    cat:    List( Slice ) -> Vector;

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

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

    keyed_map:  ((Int, Element) -> Element) -> Slice -> Vector;
    map:   (Element -> Element) -> Slice -> Vector;

    keyed_fold_forward:  ((Int, Element, X) -> X) -> X -> Slice -> X;
    keyed_fold_backward:  ((Int, Element, X) -> X) -> X -> Slice -> X;

    fold_forward:   ((Element, X) -> X) -> X -> Slice -> X;
    fold_backward:   ((Element, X) -> X) -> X -> Slice -> X;

    keyed_find:   ((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;

    compare_sequences: ((Element, Element) -> Order) -> (Slice, Slice) -> Order;
};


## Copyright (c) 2003 by The Fellowship of SML/NJ
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext