File_path.AbsoluteAbsolute paths are a subtype of Path.t and therefore also of string.
type t = Types.Absolute.ttype comparator_witness = Types.Absolute.comparator_witnessinclude Types.Type
with type t := t
and type comparator_witness := comparator_witnessinclude Ppx_compare_lib.Equal.S with type t := tinclude Ppx_compare_lib.Equal.S__local with type t := tinclude Ppx_compare_lib.Comparable.S with type t := tinclude Ppx_compare_lib.Comparable.S__local with type t := tinclude Ppx_hash_lib.Hashable.S_any with type t := tval t_sexp_grammar : t Sexplib0.Sexp_grammar.t @@ portableinclude Core.Comparator.S__portable
with type t := t
with type comparator_witness := comparator_witnessmodule Expert : sig ... endPath types have straightforward to_string and sexp_of_t behavior. of_string and t_of_sexp raise on invalid input (e.g. containing null characters), and guarantee canonical output (e.g. no redundant slashes).
to_string is the identity function. of_string returns its input when the input is a valid string in canonical form.
include Core.Identifiable.S__portable
with type t := t
and type comparator_witness := comparator_witnessinclude Bin_prot.Binable.S with type t := tinclude Bin_prot.Binable.S_only_functions with type t := tval bin_read_t : t Bin_prot.Read.readerval __bin_read_t__ : t Bin_prot.Read.vtag_readerThis function only needs implementation if t exposed to be a polymorphic variant. Despite what the type reads, this does *not* produce a function after reading; instead it takes the constructor tag (int) before reading and reads the rest of the variant t afterwards.
val bin_shape_t : Bin_prot.Shape.tval bin_writer_t : t Bin_prot.Type_class.writerval bin_reader_t : t Bin_prot.Type_class.readerval bin_t : t Bin_prot.Type_class.tinclude Ppx_hash_lib.Hashable.S_any with type t := tinclude Sexplib0.Sexpable.S with type t := tinclude Sexplib0.Sexpable.Of_sexp with type t := tval t_of_sexp : Sexplib0.Sexp.t -> tinclude Sexplib0.Sexpable.Sexp_of with type t := tinclude Ppx_compare_lib.Comparable.S with type t := tinclude Ppx_hash_lib.Hashable.S_any with type t := tval sexp_of_t : t -> Sexplib0.Sexp.tinclude Base.Pretty_printer.S with type t := tval pp : Base.Formatter.t -> t -> unitinclude Base.Comparable.S__portable
with type t := t
with type comparator_witness := comparator_witnessinclude Base.Comparisons.S with type t := tcompare t1 t2 returns 0 if t1 is equal to t2, a negative integer if t1 is less than t2, and a positive integer if t1 is greater than t2.
ascending is identical to compare. descending x y = ascending y x. These are intended to be mnemonic when used like List.sort ~compare:ascending and List.sort ~cmp:descending, since they cause the list to be sorted in ascending or descending order, respectively.
clamp_exn t ~min ~max returns t', the closest value to t such that between t' ~low:min ~high:max is true.
Raises if not (min <= max).
val clamp : t -> min:t -> max:t -> t Base.Or_error.t @@ portableinclude Base.Comparator.S__portable
with type t := t
with type comparator_witness := comparator_witnessval validate_lbound : min:t Core.Maybe_bound.t -> t Validate.checkval validate_ubound : max:t Core.Maybe_bound.t -> t Validate.checkval validate_bound :
min:t Core.Maybe_bound.t ->
max:t Core.Maybe_bound.t ->
t Validate.checkmodule Replace_polymorphic_compare :
Base.Comparable.Comparisons with type t := tinclude Core.Comparator.S__portable
with type t := t
with type comparator_witness := comparator_witnessval comparator : (t, comparator_witness) Base.Comparator.T.comparatormodule Map :
Core.Map_intf.S_binable__portable
with type Key.t = t
with type Key.comparator_witness = comparator_witnessmodule Set :
Core.Set_intf.S_binable__portable
with type Elt.t = t
with type Elt.comparator_witness = comparator_witnessinclude Core.Hashable.S_binable with type t := tinclude Ppx_hash_lib.Hashable.S_any with type t := tval hash_fold_t : t Ppx_hash_lib.hash_foldval hash : t -> Ppx_hash_lib.Std.Hash.hash_valueval hashable : t Base.Hashable.tmodule Table : Core.Hashtbl.S_binable with type key = tmodule Hash_set : Core.Hash_set.S_binable with type elt = tmodule Hash_queue : Core.Hash_queue.S with type key = tinclude Core.Invariant.S with type t := tval invariant : t -> unitval arg_type : t Core.Command.Arg_type.t @@ portableCommand-line argument. Supports tab-completion.
include Core.Quickcheckable.S with type t := tval quickcheck_generator : t Base_quickcheck.Generator.tval quickcheck_observer : t Base_quickcheck.Observer.tval quickcheck_shrinker : t Base_quickcheck.Shrinker.tval root : t @@ portableThe root directory, i.e. /.
val basename : t -> Types.Part.t option @@ portableReturns the final part of the given path, or None if given root.
val basename_exn : t -> Types.Part.t @@ portableReturns the final part of the given path, or raises if given root.
val basename_or_error : t -> Types.Part.t Core.Or_error.t @@ portableReturns the final part of the given path, or returns an error if given root.
val basename_defaulting_to_dot : t -> Types.Part.t @@ portableReturns the final part of the given path, or Part.dot if given root.
Returns all parts of the given path but the final one, or None if given root.
Returns all parts of the given path but the final one, or raises if given root.
val dirname_or_error : t -> t Core.Or_error.t @@ portableReturns all parts of the given path but the final one, or returns an error if given root.
Returns all parts of the given path but the final one, or root if given root.
val dirname_and_basename : t -> (t * Types.Part.t) option @@ portableLike Option.both (dirname t) (basename t). Allocates Some at most once.
Adds the given string as a suffix of the path's basename. Raises if t is root and therefore has no basename, or if the string contains characters that are illegal for a path part.
val append_part : t -> Types.Part.t -> t @@ portableAdds a part to the end of the path.
val append : t -> Types.Relative.t -> t @@ portableAppends the parts of a relative path to the end of the absolute path.
Reports if the parts of prefix are a non-strict prefix of the parts of the other argument.
val is_suffix : t -> suffix:Types.Relative.t -> bool @@ portableReports if the parts of suffix are a non-strict suffix of the parts of the other argument.
val chop_prefix : t -> prefix:t -> Types.Relative.t option @@ portableReturns all parts of the given path after prefix, or None if prefix is not a prefix of the path's parts. If the path equals prefix, returns Relative.dot.
val chop_prefix_exn : t -> prefix:t -> Types.Relative.t @@ portableReturns all parts of the given path after prefix, or raises if prefix is not a prefix of the path's parts. If the path equals prefix, returns Relative.dot.
val chop_prefix_or_error :
t ->
prefix:t ->
Types.Relative.t Core.Or_error.t @@ portableReturns all parts of the given path after prefix, or returns an error if prefix is not a prefix of the path's parts. If the path equals prefix, returns Relative.dot.
val chop_suffix : t -> suffix:Types.Relative.t -> t option @@ portableReturns all parts of the given path before suffix, or None if suffix is not a suffix of the path's parts.
val chop_suffix_exn : t -> suffix:Types.Relative.t -> t @@ portableReturns all parts of the given path before suffix, or raises if suffix is not a suffix of the path's parts.
val chop_suffix_or_error :
t ->
suffix:Types.Relative.t ->
t Core.Or_error.t @@ portableReturns all parts of the given path before suffix, or returns an error if suffix is not a suffix of the path's parts.
val chop_suffix_if_exists : t -> suffix:Types.Relative.t -> t @@ portableReturns all parts of the given path before suffix, or returns the path unchanged if suffix is not a suffix of the path's parts.
Removes . parts from the given path. Cancels out .. parts with preceding parts (that are neither . nor ..). Removes any .. parts immediately following the leading /. Does not check the file system; in the presence of symlinks, the resulting path may not be equivalent.
val to_parts : t -> Types.Part.t list @@ portableProduces the parts of the path.
val of_parts : Types.Part.t list -> t @@ portableConstructs an absolute path from the given parts.
val number_of_parts : t -> int @@ portableEquivalent to List.length (to_parts t), without allocating.