# path

## Types

| const_iterator

## Type Aliases

char | `value_type`
std::basic_string< `value_type` > | `string_type`
const_iterator | `iterator`

## Fields

`value_type` const | `preferred_separator`

## Functions

| `~path`
| `path`
| `path`
| `path`
| `path`
| `path`
| `path`
path & | `operator=`
path & | `operator=`
bool | `operator==`
bool | `operator!=`
bool | `operator`
bool | `operator>`
bool | `operator`
bool | `operator>=`
path & | `operator/=`
path & | `operator/=`
path & | `operator/=`
path | `operator/`
path & | `operator+=`
const_iterator | `begin`
const_iterator | `end`
`value_type` const * | `c_str`
std::string | `string`
`string_type` | `native`
`string_type` | `file_string`
bool | `empty`
bool | `has_root_name`
bool | `has_root_path`
bool | `has_parent_path`
bool | `has_filename`
bool | `has_extension`
path | `parent_path`
path | `filename`
path | `extension`
path & | `replace_extension`
Impl & | `_GetImpl`
Impl const & | `_GetImpl`
path | `_FromRaw`
path | `_FromRaw`

## Detailed Description

class path

  The path class used to represent a file path. The API is mimicked from std::filesystem::path. The most useful methods for the file system classes are the following to access the file name:

  - value_type const* c_str() const;

  - std::string string() const;

  - string_type native() const;

  - string_type file_string() const;

  Public Types

  using value_type = char
  using string_type = std::basic_string<value_type>
  using iterator = const_iterator

  Public Functions

  ~path()
  path()
  path(char const *s)
  path(std::string const &s)
  path(std::wstring const &s)
  path(path const &other)
  path(path &&other)
  path &operator=(path const &other)
  path &operator=(path &&other)
  bool operator==(path const &other) const
  bool operator!=(path const &other) const
  bool operator<(path const &other) const
  bool operator>(path const &other) const
  bool operator<=(path const &other) const
  bool operator>=(path const &other) const
  path &operator/=(path const &p)
  path &operator/=(value_type const *s)
  path &operator/=(string_type const &s)
  path operator/(path const &other) const
  path &operator+=(char const *s)
  const_iterator begin() const
  const_iterator end() const
  value_type const *c_str() const
  std::string string() const
  string_type native() const
  string_type file_string() const
  bool empty() const
  bool has_root_name() const
  bool has_root_path() const
  bool has_parent_path() const
  bool has_filename() const
  bool has_extension() const
  path parent_path() const
  path filename() const
  path extension() const
  path &replace_extension(path const &new_extension)
  Impl &_GetImpl()
  Impl const &_GetImpl() const

  Public Static Functions

  static path _FromRaw(Impl const &impl)
  static path _FromRaw(Impl &&impl)

  Public Static Attributes

  static value_type const preferred_separator
  class const_iterator

    Public Functions

    ~const_iterator()
    const_iterator()
    const_iterator(const_iterator const &other)
    bool operator==(const_iterator const &other) const
    bool operator!=(const_iterator const &other) const
    void operator++()
    path operator*() const