Overview  Index  Help 
Standard ML Basis Library

OS_PathFn


functor OS_PathFn(OSPathBase :
                  sig
                    datatype arc_kind = Null | Parent | Current | Arc of string
                    exception Path
                    val classify : string -> arc_kind
                    val parentArc : string
                    val currentArc : string
                    val validVolume : bool * Substring.substring -> bool
                    val splitVolPath
                        : string ->
                            bool * Substring.substring * Substring.substring
                    val joinVolPath : bool * string * string -> string
                    val arcSepChar : char
                    val sameVol : string * string -> bool
                  end) : OS_PATH =
struct
  structure P = OSPathBase
  structure SS = Substring
  exception Path = P.Path
  val arcSepStr
  val parentArc : string
  val currentArc : string
  val concatArcs
  val validVolume : {isAbs : bool, vol : string} -> bool
  val fromString : string -> {isAbs : bool, vol : string, arcs : string list}
  val toString : {isAbs : bool, vol : string, arcs : string list} -> string
  val getVolume : string -> string
  val getParent : string -> string
  val splitDirFile : string -> {dir : string, file : string}
  val joinDirFile : {dir : string, file : string} -> string
  val dir : string -> string
  val file : string -> string
  val splitBaseExt : string -> {base : string, ext : string option}
  val joinBaseExt : {base : string, ext : string option} -> string
  val base : string -> string
  val ext : string -> string option
  val mkCanonical : string -> string
  val isCanonical : string -> bool
  val isAbsolute : string -> bool
  val isRelative : string -> bool
  val mkAbsolute : {path : string, relativeTo : string} -> string
  val mkRelative : {path : string, relativeTo : string} -> string
  val isRoot : string -> bool
  val concat : string * string -> string
  val fromUnixPath : string -> string
  val toUnixPath : string -> string
end

       
Value detail

arcSepStr

val arcSepStr


parentArc

val parentArc : string


currentArc

val currentArc : string


concatArcs

val concatArcs


validVolume

val validVolume : {isAbs : bool, vol : string} -> bool


fromString

val fromString : string -> {isAbs : bool, vol : string, arcs : string list}


toString

val toString : {isAbs : bool, vol : string, arcs : string list} -> string


getVolume

val getVolume : string -> string


getParent

val getParent : string -> string


splitDirFile

val splitDirFile : string -> {dir : string, file : string}


joinDirFile

val joinDirFile : {dir : string, file : string} -> string


dir

val dir : string -> string


file

val file : string -> string


splitBaseExt

val splitBaseExt : string -> {base : string, ext : string option}


joinBaseExt

val joinBaseExt : {base : string, ext : string option} -> string


base

val base : string -> string


ext

val ext : string -> string option


mkCanonical

val mkCanonical : string -> string


isCanonical

val isCanonical : string -> bool


isAbsolute

val isAbsolute : string -> bool


isRelative

val isRelative : string -> bool


mkAbsolute

val mkAbsolute : {path : string, relativeTo : string} -> string


mkRelative

val mkRelative : {path : string, relativeTo : string} -> string


isRoot

val isRoot : string -> bool


concat

val concat : string * string -> string


fromUnixPath

val fromUnixPath : string -> string


toUnixPath

val toUnixPath : string -> string

 
Exception detail

Path

exception Path = P.Path


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