Overview  Index  Help 
Standard ML Basis Library

CharVectorSlice


structure CharVectorSlice :> MONO_VECTOR_SLICE
                               where type elem = char
                               where type vector = CharVector.vector =
struct
  type elem = char
  type vector = CharVector.vector
  datatype slice = SL of {base : vector, start : int, stop : int}
  val --
  val ++
  val usub
  val vlength
  val length : slice -> int
  val sub : slice * int -> elem
  val full : vector -> slice
  val slice : vector * int * int option -> slice
  val subslice : slice * int * int option -> slice
  val base : slice -> vector * int * int
  val vector : slice -> vector
  val isEmpty : slice -> bool
  val getItem : slice -> (elem * sliceoption
  val appi : (int * elem -> unit) -> slice -> unit
  val app : (elem -> unit) -> 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 concat : slice list -> vector
  val mapi : (int * elem -> elem) -> slice -> vector
  val map : (elem -> elem) -> slice -> vector
  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 = char


vector

type vector = CharVector.vector

 
Datatype detail

slice

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

 
DataConstructor detail

SL

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

 
Value detail

--

val --


++

val ++


usub

val usub


vlength

val vlength


length

val length : slice -> int


sub

val sub : slice * int -> elem


full

val full : vector -> slice


slice

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


subslice

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


base

val base : slice -> vector * int * int


vector

val vector : slice -> vector


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


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


concat

val concat : slice list -> vector


mapi

val mapi : (int * elem -> elem) -> slice -> vector


map

val map : (elem -> elem) -> slice -> vector


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