Module Core_kernel.Filename
- type t- = Core_kernel__.Import.string
include Bin_prot.Binable.S with type t := t
include Bin_prot.Binable.S_only_functions with type t := t
- val bin_size_t : t Bin_prot.Size.sizer
- val bin_write_t : t Bin_prot.Write.writer
- val bin_read_t : t Bin_prot.Read.reader
- val __bin_read_t__ : (int -> t) Bin_prot.Read.reader
- This function only needs implementation if - texposed 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- tafterwards.
- val bin_shape_t : Bin_prot.Shape.t
- val bin_writer_t : t Bin_prot.Type_class.writer
- val bin_reader_t : t Bin_prot.Type_class.reader
- val bin_t : t Bin_prot.Type_class.t
- val compare : t -> t -> Core_kernel__.Import.int
include Ppx_sexp_conv_lib.Sexpable.S with type t := t
- val t_of_sexp : Sexplib0.Sexp.t -> t
- val sexp_of_t : t -> Sexplib0.Sexp.t
- val root : Core_kernel__.Import.string
- The path of the root. 
Pathname resolution
- val is_posix_pathname_component : Core_kernel__.Import.string -> Core_kernel__.Import.bool
- is_posix_pathname_component f- returns
- true if - fis a valid path component on a POSIX compliant OS- Note that this checks a path component, and not a full path. - http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap03.html#tag_03_169 
 
- val temp_dir_name : Core_kernel__.Import.string
- The name of the temporary directory: - Under Unix, the value of the - TMPDIRenvironment variable, or "/tmp" if the variable is not set.- Under Windows, the value of the - TEMPenvironment variable, or "." if the variable is not set.
- val current_dir_name : Core_kernel__.Import.string
- The conventional name for the current directory (e.g. - .in Unix).
- val parent_dir_name : Core_kernel__.Import.string
- The conventional name for the parent of the current directory (e.g. - ..in Unix).
- val dir_sep : Core_kernel__.Import.string
- The directory separator (e.g. - /in Unix).
- val concat : Core_kernel__.Import.string -> Core_kernel__.Import.string -> Core_kernel__.Import.string
- concat p1 p2returns a path equivalent to- p1 ^ "/" ^ p2. In the resulting path p1 (resp. p2) has all its trailing (resp. leading) "." and "/" removed. eg: concat "a/." ".//b" => "a/b" concat "." "b" => "./b" concat "a" "." => "a/." concat "a" "/b" => "a/b"- @throws Failure if - p1is empty.
- val is_relative : Core_kernel__.Import.string -> Core_kernel__.Import.bool
- Return - trueif the file name is relative to the current directory,- falseif it is absolute (i.e. in Unix, starts with- /).
- val is_absolute : Core_kernel__.Import.string -> Core_kernel__.Import.bool
- val is_implicit : Core_kernel__.Import.string -> Core_kernel__.Import.bool
- Return - trueif the file name is relative and does not start with an explicit reference to the current directory (- ./or- ../in Unix),- falseif it starts with an explicit reference to the root directory or the current directory.
- val check_suffix : Core_kernel__.Import.string -> Core_kernel__.Import.string -> Core_kernel__.Import.bool
- check_suffix name suffreturns- trueif the filename- nameends with the suffix- suff.
- val chop_suffix : Core_kernel__.Import.string -> Core_kernel__.Import.string -> Core_kernel__.Import.string
- chop_suffix name suffremoves the suffix- sufffrom the filename- name. The behavior is undefined if- namedoes not end with the suffix- suff.
- val chop_extension : Core_kernel__.Import.string -> Core_kernel__.Import.string
- Return the given file name without its extension. The extension is the shortest suffix starting with a period and not including a directory separator, - .xyzfor instance.- Raise - Invalid_argumentif the given name does not contain an extension.
- val split_extension : Core_kernel__.Import.string -> Core_kernel__.Import.string * Core_kernel__.Import.string Core_kernel__.Import.option
- split_extension fnreturn the portion of the filename before the extension and the (optional) extension. Example: split_extension "/foo/my_file" = ("/foo/my_file", None) split_extension "/foo/my_file.txt" = ("/foo/my_file", Some "txt") split_extension "/home/c.falls/my_file" = ("/home/c.falls/my_file", None)
- val basename : Core_kernel__.Import.string -> Core_kernel__.Import.string
- Respects the posix semantic. - Split a file name into directory name / base file name. - concat (dirname name) (basename name)returns a file name which is equivalent to- name. Moreover, after setting the current directory to- dirname name(with- Sys.chdir), references to- basename name(which is a relative file name) designate the same file as- namebefore the call to- Sys.chdir.- The result is not specified if the argument is not a valid file name (for example, under Unix if there is a NUL character in the string). 
- val dirname : Core_kernel__.Import.string -> Core_kernel__.Import.string
- See - Filename.basename.
- val split : Core_kernel__.Import.string -> Core_kernel__.Import.string * Core_kernel__.Import.string
- split filenamereturns (dirname filename, basename filename)
- val parts : Core_kernel__.Import.string -> Core_kernel__.Import.string Core_kernel__.Import.list
- parts filenamereturns a list of path components in order. For instance: /tmp/foo/bar/baz ->- "/"; "tmp"; "foo"; "bar"; "baz". The first component is always either "." for relative paths or "/" for absolute ones.
- val of_parts : Core_kernel__.Import.string Core_kernel__.Import.list -> Core_kernel__.Import.string
- of_parts partsjoins a list of path components into a path. It does roughly the opposite of- parts, but they fail to be precisely mutually inverse because of ambiguities like multiple consecutive slashes and . components.- Raises an error if given an empty list. 
- val quote : Core_kernel__.Import.string -> Core_kernel__.Import.string
- Return a quoted version of a file name, suitable for use as one argument in a command line, escaping all meta-characters. Warning: under Windows, the output is only suitable for use with programs that follow the standard Windows quoting conventions. - See - Sys.quotefor an alternative implementation that is more human readable but less portable.