# Module Topkg.Fpath

    module Fpath: sig .. end

File system paths.

Note. Only use `"/"` as a directory separator, even on Windows platforms.

## File system paths

    type t = Topkg.fpath

The type for file system paths.

    val append : t -> t -> t

`append p q` appends `q` to `p` as follows:

- If `q` is absolute then `q` is returned
- Otherwise appends `q`'s segments to `p` using a `"/"` if needed.

    val (//) : t -> t -> t

`p // q` is `append p q`.

    val is_dir_path : t -> bool

`is_dir_path p` is `true` iff `p` represents a directory. This means that `p` is `.`, `..` or ends with `/`, `/..` or `/.`.

    val is_file_path : t -> bool

`is_file_path p` is `not (is_dir_path true)`.

    val basename : t -> string

`basename p` is `p`'s basename, the last non empty segment of `p`.

    val dirname : t -> string

`dirname p` is `p`'s dirname, `p` without its last non empty segment.

## File extensions

    val get_ext : t -> string

`get_ext p` is `p`'s filename extension (including the `'.'`) or the empty string if there is no extension

    val has_ext : string -> t -> bool

`has_ext e p` is `true` iff `e` is a suffix of `p`.

    val rem_ext : t -> t

`rem_ext p` is `p` without its filename extension.