Overview  Index  Help 
Standard ML Basis Library

Word8ArraySlice


structure Word8ArraySlice :> MONO_ARRAY_SLICE
                               where type elem = Word8.word
                               where type array = Word8Array.array
                               where type vector = Word8Vector.vector
                               where type vector_slice = Word8VectorSlice.slice =
struct
  type elem = Word8.word
  type array = Word8Array.array
  type vector = Word8Vector.vector
  type vector_slice = Word8VectorSlice.slice
  datatype slice = SL of {base : array, start : int, stop : int}
  val --
  val ++
  val usub
  val uupd
  val vusub
  val vuupd
  val alength
  val vlength
  val length : slice -> int
  val sub : slice * int -> elem
  val update : slice * int * elem -> unit
  val full : array -> slice
  val slice : array * int * int option -> slice
  val subslice : slice * int * int option -> slice
  val base : slice -> array * int * int
  val vector : slice -> vector
  val copy : {src : slice, dst : array, di : int} -> unit
  val copyVec : {src : vector_slice, dst : array, di : int} -> unit
  val isEmpty : slice -> bool
  val getItem : slice -> (elem * sliceoption
  val appi : (int * elem -> unit) -> slice -> unit
  val app : (elem -> unit) -> slice -> unit
  val modifyi : (int * elem -> elem) -> slice -> unit
  val modify : (elem -> elem) -> slice -> unit
  val foldli : (int * elem * 'a -> 'a) -> 'a -> slice -> 'a
  val foldl : (elem * 'a -> 'a) -> 'a -> slice -> 'a
  val foldri : (int * elem * 'a -> 'a) -> 'a -> slice -> 'a
  val foldr : (elem * 'a -> 'a) -> 'a -> slice -> 'a
  val findi : (int * elem -> bool) -> slice -> (int * elemoption
  val find : (elem -> bool) -> slice -> elem option
  val exists : (elem -> bool) -> slice -> bool
  val all : (elem -> bool) -> slice -> bool
  val collate : (elem * elem -> order) -> slice * slice -> order
end

 
Type detail

elem

type elem = Word8.word


array

type array = Word8Array.array


vector

type vector = Word8Vector.vector


vector_slice

type vector_slice = Word8VectorSlice.slice

 
Datatype detail

slice

datatype slice = SL of {base : array, start : int, stop : int}

 
DataConstructor detail

SL

constructor SL : {base : array, start : int, stop : int} -> slice

 
Value detail

--

val --


++

val ++


usub

val usub


uupd

val uupd


vusub

val vusub


vuupd

val vuupd


alength

val alength


vlength

val vlength


length

val length : slice -> int


sub

val sub : slice * int -> elem


update

val update : slice * int * elem -> unit


full

val full : array -> slice


slice

val slice : array * int * int option -> slice


subslice

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


base

val base : slice -> array * int * int


vector

val vector : slice -> vector


copy

val copy : {src : slice, dst : array, di : int} -> unit


copyVec

val copyVec : {src : vector_slice, dst : array, di : int} -> unit


isEmpty

val isEmpty : slice -> bool


getItem

val getItem : slice -> (elem * sliceoption


appi

val appi : (int * elem -> unit) -> slice -> unit


app

val app : (elem -> unit) -> slice -> unit


modifyi

val modifyi : (int * elem -> elem) -> slice -> unit


modify

val modify : (elem -> elem) -> slice -> unit


foldli

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


foldl

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


foldri

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


foldr

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


findi

val findi : (int * elem -> bool) -> slice -> (int * elemoption


find

val find : (elem -> bool) -> slice -> elem option


exists

val exists : (elem -> bool) -> slice -> bool


all

val all : (elem -> bool) -> slice -> bool


collate

val collate : (elem * elem -> order) -> slice * slice -> order

 


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).