Overview  Index  Help 
Standard ML Basis Library

ArraySlice


structure ArraySlice : ARRAY_SLICE =
struct
  datatype 'a slice = SL of {base : 'a Array.array, start : int, stop : int}
  val --
  val ++
  val usub
  val uupd
  val vusub
  val alength
  val vlength
  val length : 'a slice -> int
  val sub : 'a slice * int -> 'a
  val update : 'a slice * int * 'a -> unit
  val full : 'a Array.array -> 'a slice
  val slice : 'a Array.array * int * int option -> 'a slice
  val subslice : 'a slice * int * int option -> 'a slice
  val base : 'a slice -> 'a Array.array * int * int
  val copy : {src : 'a slice, dst : 'a Array.array, di : int} -> unit
  val copyVec
      : {src : 'a VectorSlice.slice, dst : 'a Array.array, di : int} -> unit
  val isEmpty : 'a slice -> bool
  val getItem : 'a slice -> ('a * 'a sliceoption
  val appi : (int * 'a -> unit) -> 'a slice -> unit
  val app : ('a -> unit) -> 'a slice -> unit
  val modifyi : (int * 'a -> 'a) -> 'a slice -> unit
  val modify : ('a -> 'a) -> 'a slice -> unit
  val foldli : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b
  val foldl : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b
  val foldri : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b
  val foldr : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b
  val findi : (int * 'a -> bool) -> 'a slice -> (int * 'a) option
  val find : ('a -> bool) -> 'a slice -> 'a option
  val exists : ('a -> bool) -> 'a slice -> bool
  val all : ('a -> bool) -> 'a slice -> bool
  val collate : ('a * 'a -> order) -> 'a slice * 'a slice -> order
  val vector : 'a slice -> 'a Vector.vector
end

   
Datatype detail

slice

datatype 'a slice = SL of {base : 'a Array.array, start : int, stop : int}

 
DataConstructor detail

SL

constructor SL : {base : 'a Array.array, start : int, stop : int} -> 'a slice

 
Value detail

--

val --


++

val ++


usub

val usub


uupd

val uupd


vusub

val vusub


alength

val alength


vlength

val vlength


length

val length : 'a slice -> int


sub

val sub : 'a slice * int -> 'a


update

val update : 'a slice * int * 'a -> unit


full

val full : 'a Array.array -> 'a slice


slice

val slice : 'a Array.array * int * int option -> 'a slice


subslice

val subslice : 'a slice * int * int option -> 'a slice


base

val base : 'a slice -> 'a Array.array * int * int


copy

val copy : {src : 'a slice, dst : 'a Array.array, di : int} -> unit


copyVec

val copyVec
    : {src : 'a VectorSlice.slice, dst : 'a Array.array, di : int} -> unit


isEmpty

val isEmpty : 'a slice -> bool


getItem

val getItem : 'a slice -> ('a * 'a sliceoption


appi

val appi : (int * 'a -> unit) -> 'a slice -> unit


app

val app : ('a -> unit) -> 'a slice -> unit


modifyi

val modifyi : (int * 'a -> 'a) -> 'a slice -> unit


modify

val modify : ('a -> 'a) -> 'a slice -> unit


foldli

val foldli : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b


foldl

val foldl : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b


foldri

val foldri : (int * 'a * 'b -> 'b) -> 'b -> 'a slice -> 'b


foldr

val foldr : ('a * 'b -> 'b) -> 'b -> 'a slice -> 'b


findi

val findi : (int * 'a -> bool) -> 'a slice -> (int * 'a) option


find

val find : ('a -> bool) -> 'a slice -> 'a option


exists

val exists : ('a -> bool) -> 'a slice -> bool


all

val all : ('a -> bool) -> 'a slice -> bool


collate

val collate : ('a * 'a -> order) -> 'a slice * 'a slice -> order


vector

val vector : 'a slice -> 'a Vector.vector

 


Overview  Index  Help 
Standard ML Basis Library

This document may be distributed freely over the internet as long as the copyright notice and license terms below are prominently displayed within every machine-readable copy.

Copyright © 2003 AT&T and Lucent Technologies. All rights reserved.

Permission is granted for internet users to make one paper copy for their own personal use. Further hardcopy reproduction is strictly prohibited. Permission to distribute the HTML document electronically on any medium other than the internet must be requested from the copyright holders by contacting the editors. Printed versions of the SML Basis Manual are available from Cambridge University Press. To order, please visit www.cup.org (North America) or www.cup.cam.ac.uk (outside North America).