1234567891011121314151617181920212223242526272829303132333435open!Core(** A part represents a single file or directory name within a path. For example, in
"/usr/bin/ls", there are three parts: "usr", "bin", and "ls".
Valid part strings must be non-empty, and must contain neither null characters nor
slash characters. All valid part strings are canonical. *)moduletypeS=sigmoduleTypes:Types.S(** Parts are a subtype of [Relative.t], [Path.t], and [string]. *)includeCommon.SwithmoduleType:=Types.PartincludeQuickcheckable.Swithtypet:=t(** The current directory, i.e. [.]. *)valdot:t(** The parent directory, i.e. [..]. *)valdot_dot:t(** Adds the given string as a suffix of the path part. Raises if the string
contains characters that are illegal for a path part.
We use "_to_basename_" in the name for consistency with similar operations on other
path types. A path part is its own basename. *)valappend_to_basename_exn:t->string->tendmoduletypePart=sigmoduletypeS=SincludeSwithmoduleTypes:=TypesmoduleStable:Common.StablewithmoduleType:=Types.Partend