`sig
module type StringType =
sig
type t
val length : BatPathGen.StringType.t -> int
type tchar
val get : BatPathGen.StringType.t -> int -> BatPathGen.StringType.tchar
val lift_char : char -> BatPathGen.StringType.tchar
val lift : string -> BatPathGen.StringType.t
val to_string : BatPathGen.StringType.t -> string
val concat_with_separators :
BatPathGen.StringType.t ->
BatPathGen.StringType.t list -> BatPathGen.StringType.t
val compare : BatPathGen.StringType.t -> BatPathGen.StringType.t -> int
val iter :
(BatPathGen.StringType.tchar -> unit) ->
BatPathGen.StringType.t -> unit
val iteri :
(int -> BatPathGen.StringType.tchar -> unit) ->
BatPathGen.StringType.t -> unit
val sub :
BatPathGen.StringType.t -> int -> int -> BatPathGen.StringType.t
val rindex : BatPathGen.StringType.t -> char -> int
module Parse :
sig
val source :
BatPathGen.StringType.t ->
(BatPathGen.StringType.tchar, BatCharParser.position)
BatParserCo.Source.t
val letter :
(BatPathGen.StringType.tchar, BatPathGen.StringType.tchar,
BatCharParser.position)
BatParserCo.t
end
end
module type PathType =
sig
type ustring
type uchar
module OperatorLift :
sig val ( !! ) : string -> BatPathGen.PathType.ustring end
type t = BatPathGen.PathType.ustring list
val is_relative : BatPathGen.PathType.t -> bool
val is_absolute : BatPathGen.PathType.t -> bool
val root : BatPathGen.PathType.t
val append :
BatPathGen.PathType.t ->
BatPathGen.PathType.ustring -> BatPathGen.PathType.t
val concat :
BatPathGen.PathType.t ->
BatPathGen.PathType.t -> BatPathGen.PathType.t
module Operators :
sig
val ( /: ) :
BatPathGen.PathType.t ->
BatPathGen.PathType.ustring -> BatPathGen.PathType.t
val ( //@ ) :
BatPathGen.PathType.t ->
BatPathGen.PathType.t -> BatPathGen.PathType.t
end
module Infix :
sig
val ( /: ) :
BatPathGen.PathType.t ->
BatPathGen.PathType.ustring -> BatPathGen.PathType.t
val ( //@ ) :
BatPathGen.PathType.t ->
BatPathGen.PathType.t -> BatPathGen.PathType.t
end
exception Malformed_path
val normalize_filepath : BatPathGen.PathType.t -> BatPathGen.PathType.t
val normalize_in_graph : BatPathGen.PathType.t -> BatPathGen.PathType.t
val normalize_in_tree : BatPathGen.PathType.t -> BatPathGen.PathType.t
val normalize : BatPathGen.PathType.t -> BatPathGen.PathType.t
val parent : BatPathGen.PathType.t -> BatPathGen.PathType.t
val belongs : BatPathGen.PathType.t -> BatPathGen.PathType.t -> bool
val relative_to_any :
BatPathGen.PathType.t ->
BatPathGen.PathType.t -> BatPathGen.PathType.t
exception Not_parent
val relative_to_parent :
BatPathGen.PathType.t ->
BatPathGen.PathType.t -> BatPathGen.PathType.t
exception Illegal_char
type validator = BatPathGen.PathType.ustring -> bool
val default_validator : BatPathGen.PathType.validator Pervasives.ref
val to_ustring : BatPathGen.PathType.t -> BatPathGen.PathType.ustring
val to_string : BatPathGen.PathType.t -> string
val of_string : BatPathGen.PathType.ustring -> BatPathGen.PathType.t
val s : BatPathGen.PathType.t -> string
val p : BatPathGen.PathType.ustring -> BatPathGen.PathType.t
val name : BatPathGen.PathType.t -> BatPathGen.PathType.ustring
val map_name :
(BatPathGen.PathType.ustring -> BatPathGen.PathType.ustring) ->
BatPathGen.PathType.t -> BatPathGen.PathType.t
val ext : BatPathGen.PathType.t -> BatPathGen.PathType.ustring option
val map_ext :
(BatPathGen.PathType.ustring option ->
BatPathGen.PathType.ustring option) ->
BatPathGen.PathType.t -> BatPathGen.PathType.t
val name_core : BatPathGen.PathType.t -> BatPathGen.PathType.ustring
type components =
BatPathGen.PathType.t * BatPathGen.PathType.ustring *
BatPathGen.PathType.ustring option
val split : BatPathGen.PathType.t -> BatPathGen.PathType.components
val join : BatPathGen.PathType.components -> BatPathGen.PathType.t
val map :
(BatPathGen.PathType.components -> BatPathGen.PathType.components) ->
BatPathGen.PathType.t -> BatPathGen.PathType.t
val drive_letter :
BatPathGen.PathType.t -> BatPathGen.PathType.uchar option
end
module Make :
functor (S : StringType) ->
sig
type ustring = S.t
type uchar = S.tchar
module OperatorLift : sig val ( !! ) : string -> ustring end
type t = ustring list
val is_relative : t -> bool
val is_absolute : t -> bool
val root : t
val append : t -> ustring -> t
val concat : t -> t -> t
module Operators :
sig val ( /: ) : t -> ustring -> t val ( //@ ) : t -> t -> t end
module Infix :
sig val ( /: ) : t -> ustring -> t val ( //@ ) : t -> t -> t end
exception Malformed_path
val normalize_filepath : t -> t
val normalize_in_graph : t -> t
val normalize_in_tree : t -> t
val normalize : t -> t
val parent : t -> t
val belongs : t -> t -> bool
val relative_to_any : t -> t -> t
exception Not_parent
val relative_to_parent : t -> t -> t
exception Illegal_char
type validator = ustring -> bool
val default_validator : validator ref
val to_ustring : t -> ustring
val to_string : t -> string
val of_string : ustring -> t
val s : t -> string
val p : ustring -> t
val name : t -> ustring
val map_name : (ustring -> ustring) -> t -> t
val ext : t -> ustring option
val map_ext : (ustring option -> ustring option) -> t -> t
val name_core : t -> ustring
type components = t * ustring * ustring option
val split : t -> components
val join : components -> t
val map : (components -> components) -> t -> t
val drive_letter : t -> uchar option
end
module OfString :
sig
type ustring = string
type uchar = char
module OperatorLift : sig val ( !! ) : string -> ustring end
type t = ustring list
val is_relative : t -> bool
val is_absolute : t -> bool
val root : t
val append : t -> ustring -> t
val concat : t -> t -> t
module Operators :
sig val ( /: ) : t -> ustring -> t val ( //@ ) : t -> t -> t end
module Infix :
sig val ( /: ) : t -> ustring -> t val ( //@ ) : t -> t -> t end
exception Malformed_path
val normalize_filepath : t -> t
val normalize_in_graph : t -> t
val normalize_in_tree : t -> t
val normalize : t -> t
val parent : t -> t
val belongs : t -> t -> bool
val relative_to_any : t -> t -> t
exception Not_parent
val relative_to_parent : t -> t -> t
exception Illegal_char
type validator = ustring -> bool
val default_validator : validator ref
val to_ustring : t -> ustring
val to_string : t -> string
val of_string : ustring -> t
val s : t -> string
val p : ustring -> t
val name : t -> ustring
val map_name : (ustring -> ustring) -> t -> t
val ext : t -> ustring option
val map_ext : (ustring option -> ustring option) -> t -> t
val name_core : t -> ustring
type components = t * ustring * ustring option
val split : t -> components
val join : components -> t
val map : (components -> components) -> t -> t
val drive_letter : t -> uchar option
end
end`