YSTest: ystdex::path< _tSeqCon, _tTraits > 模板类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Public 成员函数 | Private 类型 | 友元 | 相关函数 | 所有成员列表
ystdex::path< _tSeqCon, _tTraits > 模板类 参考

一般路径模板。 更多...

`#include <path.hpp>`

类 ystdex::path< _tSeqCon, _tTraits > 继承关系图:
[图例]
ystdex::path< _tSeqCon, _tTraits > 的协作图:
[图例]

## Public 类型

using | container_type = _tSeqCon
using | value_type = typename _tSeqCon::value_type
using | traits_type = _tTraits
using | reference = typename _tSeqCon::reference
using | const_reference = typename _tSeqCon::const_reference
using | size_type = typename base::size_type
using | difference_type = typename base::difference_type
using | iterator = typename base::iterator
using | const_iterator = typename base::const_iterator
using | reverse_iterator = typename base::reverse_iterator
using | const_reverse_iterator = typename base::const_reverse_iterator
Public 类型 继承自 ystdex::nested_allocator_base< _tSeqCon >
using | allocator_type = typename _tCon::allocator_type

## Public 成员函数

| path ()=default
template<typename _tParam , typename = enable_if_t<is_constructible<base, const base&, _tParam>::value>>
| path (const path &pth, _tParam &&arg)
template<typename _tParam , typename = enable_if_t<is_constructible<base, base, _tParam>::value>>
| path (path &&pth, _tParam &&arg)
| path (std::initializer_list< value_type > il)
template<typename... _tParams, typename = enable_if_t<sizeof...(_tParams) != 0 && is_constructible<base, std::initializer_list<value_type>, _tParams&&...>::value>>
| path (std::initializer_list< value_type > il, _tParams &&... args)
template<typename... _tParams, typename = enable_if_t<is_constructible<base, _tParams...>::value>>
| path (_tParams &&... args)
template<class _tAlloc , typename... _tParams, typename = enable_if_t< is_constructible<base, _tParams..., const _tAlloc&>::value>>
| path (std::allocator_arg_t, const _tAlloc &a, _tParams &&... args)
| path (const path &)=default
| path (path &&)=default
path & | operator= (const path &pth)
path & | operator= (path &&pth)
path & | operator= (std::initializer_list< value_type > il)
path & | operator/= (const value_type &s)
| 追加路径元素。 更多...
path & | operator/= (value_type &&s)
path & | operator/= (const path &pth)
| 追加路径。 更多...
path & | operator/= (path &&pth)
container_type & | get_container ()
const container_type & | get_container () const
void | filter_self ()
value_type | get_root () const
bool | is_absolute () const
bool | is_relative () const
void | merge_parents ()
bool | has_leaf () const
| 判断移除最后元素是否保持根路径不变。 更多...
bool | has_leaf_nonempty () const
path & | redirect (const path &pth)
| 重定向路径 更多...
path & | redirect (path &&pth)
bool | remove_leaf ()
| 若移除最后元素不会改变根路径，则移除最后的元素。 更多...
bool | root_diverged (const path &pth) const
| 判断参数指定的路径是否和 `*this` 不同而无法直接作为相对路径追加。 更多...
void | swap (path &pth)

## Private 类型

using | base = _tSeqCon

## 友元

bool | operator== (const path &x, const path &y)
bool | operator< (const path &x, const path &y)
void | swap (path &x, path &y)
| 交换。 更多...

## 相关函数

(请注意: 这些不是成员函数.)
template<class _tSeqCon , class _tTraits >
void | normalize (path< _tSeqCon, _tTraits > &pth)
| 正规化。 更多...

## 详细描述

### template<class _tSeqCon, class _tTraits = path_traits<typename _tSeqCon::value_type>>
class ystdex::path< _tSeqCon, _tTraits >

一般路径模板。

模板参数

  _tSeqCon | 可倒置的序列容器类型。

前置条件
  _tSeqCon 满足序列容器要求和 LessThanComparable 要求。
  _tSeqCon 成员异常安全性符合一般容器要求，具有 ISO C++11 表 101 指定的可选操作 back 、 front 、 pop_back 和 push_back 。

注解
  满足序列容器、可倒置容器要求，支持容器比较操作。
  使用 ISO C++11 容器要求指定的成员顺序声明。

警告
  非虚析构。

参见
  ISO C++11 17.6.3.1 [utility.arg.requirements], 23.2.1 [container.requirements.general] 。

表示一般路径的模板，是元素类型 value_type 的容器。 初始化路径时可通过路径名解析确定，但作为抽象的路径， 不直接提供处理具体 value_type 值的接口。 和 ISO C++17 [fs.class.path] 的 std::filesystem::path 的作用和设计有类似之处， 但有一些显著不同： 非单一类型而是被特征参数化的类模板。 使用特征配置包括外部表示检查和转换在内的若干行为。 表示的是抽象的路径，不依赖文件系统。 具体路径的处理不一定由 path 模板提供。 对应的路径名也不限文件系统。 路径名不在 path 中提供格式转换。 不提供为特定具体路径适配的格式选项（如 WG21 P430R2 ）。 无根路径部分对应的路径名假定使用一种分隔符。 使用不同分隔符的外部表示，如 OpenVMS 本机路径不被作为路径名直接支持。 路径名以外的外部表示和操作在 path 不特别处理。 容器对值的表示透明，不指定内部表示及限制，包括编码和允许的字符。 容器元素的值类型是串类型而不是字符类型。 因为 value_type 是串类型，不提供 string_type 。 内部表示不含分隔符。 特征以外不假定具体分隔符的值。 在 path 中提供的操作不依赖已在容器内的元素是否为空，也不检查这些元素。 表示路径的合法值校验需在解析时外部字符串时由外部指定， 如值是否编码一致且以 NUL 结尾。 追加(append) 操作 operator/= 对特定的路径类别进行正规化操作， 参见 operator/= 的说明。 非解析的追加操作使用 push_back 等容器对元素的通用操作替代。 不单独设置对元素自身的操作如 operator+= ；可使用对元素的直接操作替代。 首个元素表示根路径（若存在），内部表示不区分根路径中的根名称和根目录。 需要区分时通过特征操作， 参见具有 const path& 参数类型的 operator/= 重载的说明。

在文件 path.hpp 第 264 行定义.

## 成员类型定义说明

## ◆ base

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

using ystdex::path< _tSeqCon, _tTraits >::base = _tSeqCon

private

自从
  build 473

在文件 path.hpp 第 272 行定义.

## ◆ const_iterator

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

using ystdex::path< _tSeqCon, _tTraits >::const_iterator = typename base::const_iterator

在文件 path.hpp 第 285 行定义.

## ◆ const_reference

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

using ystdex::path< _tSeqCon, _tTraits >::const_reference = typename _tSeqCon::const_reference

在文件 path.hpp 第 281 行定义.

## ◆ const_reverse_iterator

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

using ystdex::path< _tSeqCon, _tTraits >::const_reverse_iterator = typename base::const_reverse_iterator

在文件 path.hpp 第 287 行定义.

## ◆ container_type

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

using ystdex::path< _tSeqCon, _tTraits >::container_type = _tSeqCon

自从
  build 844

在文件 path.hpp 第 276 行定义.

## ◆ difference_type

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

using ystdex::path< _tSeqCon, _tTraits >::difference_type = typename base::difference_type

在文件 path.hpp 第 283 行定义.

## ◆ iterator

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

using ystdex::path< _tSeqCon, _tTraits >::iterator = typename base::iterator

在文件 path.hpp 第 284 行定义.

## ◆ reference

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

using ystdex::path< _tSeqCon, _tTraits >::reference = typename _tSeqCon::reference

在文件 path.hpp 第 280 行定义.

## ◆ reverse_iterator

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

using ystdex::path< _tSeqCon, _tTraits >::reverse_iterator = typename base::reverse_iterator

在文件 path.hpp 第 286 行定义.

## ◆ size_type

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

using ystdex::path< _tSeqCon, _tTraits >::size_type = typename base::size_type

在文件 path.hpp 第 282 行定义.

## ◆ traits_type

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

using ystdex::path< _tSeqCon, _tTraits >::traits_type = _tTraits

自从
  build 647

在文件 path.hpp 第 279 行定义.

## ◆ value_type

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

using ystdex::path< _tSeqCon, _tTraits >::value_type = typename _tSeqCon::value_type

在文件 path.hpp 第 277 行定义.

## 构造及析构函数说明

## ◆ path() [1/9]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

ystdex::path< _tSeqCon, _tTraits >::path | ( |  | ) |

default

自从
  build 647

被这些函数引用 ystdex::path< _tSeqCon, _tTraits >::operator=().

这是这个函数的调用关系图:

## ◆ path() [2/9]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>
template<typename _tParam , typename = enable_if_t<is_constructible<base, const base&, _tParam>::value>>

ystdex::path< _tSeqCon, _tTraits >::path | ( | const path< _tSeqCon, _tTraits > & | pth,
|  | _tParam && | arg
| ) |  |

inline

自从
  build 844

在文件 path.hpp 第 295 行定义.

## ◆ path() [3/9]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>
template<typename _tParam , typename = enable_if_t<is_constructible<base, base, _tParam>::value>>

ystdex::path< _tSeqCon, _tTraits >::path | ( | path< _tSeqCon, _tTraits > && | pth,
|  | _tParam && | arg
| ) |  |

inline

在文件 path.hpp 第 300 行定义.

## ◆ path() [4/9]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

ystdex::path< _tSeqCon, _tTraits >::path | ( | std::initializer_list< value_type > | il | ) |

inline

在文件 path.hpp 第 303 行定义.

## ◆ path() [5/9]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>
template<typename... _tParams, typename = enable_if_t<sizeof...(_tParams) != 0 && is_constructible<base, std::initializer_list<value_type>, _tParams&&...>::value>>

ystdex::path< _tSeqCon, _tTraits >::path | ( | std::initializer_list< value_type > | il,
|  | _tParams &&... | args
| ) |  |

inline

在文件 path.hpp 第 309 行定义.

## ◆ path() [6/9]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>
template<typename... _tParams, typename = enable_if_t<is_constructible<base, _tParams...>::value>>

ystdex::path< _tSeqCon, _tTraits >::path | ( | _tParams &&... | args | ) |

inline

在文件 path.hpp 第 314 行定义.

## ◆ path() [7/9]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>
template<class _tAlloc , typename... _tParams, typename = enable_if_t< is_constructible<base, _tParams..., const _tAlloc&>::value>>

ystdex::path< _tSeqCon, _tTraits >::path | ( | std::allocator_arg_t | ,
|  | const _tAlloc & | a,
|  | _tParams &&... | args
| ) |  |

inline

在文件 path.hpp 第 319 行定义.

## ◆ path() [8/9]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

ystdex::path< _tSeqCon, _tTraits >::path | ( | const path< _tSeqCon, _tTraits > & |  | ) |

default

## ◆ path() [9/9]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

ystdex::path< _tSeqCon, _tTraits >::path | ( | path< _tSeqCon, _tTraits > && |  | ) |

default

## 成员函数说明

## ◆ filter_self()

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

void ystdex::path< _tSeqCon, _tTraits >::filter_self | ( |  | ) |

inline

自从
  build 732

在文件 path.hpp 第 504 行定义.

引用了 ystdex::erase_all_if(), CHRLib::s , 以及 ynothrow.

被这些函数引用 ystdex::path< _tSeqCon, _tTraits >::normalize().

函数调用图:
这是这个函数的调用关系图:

## ◆ get_container() [1/2]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

container_type& ystdex::path< _tSeqCon, _tTraits >::get_container | ( |  | ) |

inline

自从
  build 844

在文件 path.hpp 第 491 行定义.

## ◆ get_container() [2/2]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

const container_type& ystdex::path< _tSeqCon, _tTraits >::get_container | ( |  | ) | const

inline

自从
  build 844

在文件 path.hpp 第 497 行定义.

## ◆ get_root()

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

value_type ystdex::path< _tSeqCon, _tTraits >::get_root | ( |  | ) | const

inline

在文件 path.hpp 第 513 行定义.

引用了 ystdex::fseq::front , 以及 ystdex::path< _tSeqCon, _tTraits >::is_absolute().

函数调用图:

## ◆ has_leaf()

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

bool ystdex::path< _tSeqCon, _tTraits >::has_leaf | ( |  | ) | const

inline

判断移除最后元素是否保持根路径不变。

自从
  build 837

在文件 path.hpp 第 554 行定义.

引用了 ystdex::cpp2017::empty() , 以及 ystdex::path< _tSeqCon, _tTraits >::has_leaf_nonempty().

被这些函数引用 ystdex::path< _tSeqCon, _tTraits >::remove_leaf().

函数调用图:
这是这个函数的调用关系图:

## ◆ has_leaf_nonempty()

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

bool ystdex::path< _tSeqCon, _tTraits >::has_leaf_nonempty | ( |  | ) | const

inline

前置条件
  断言：路径非空。

在文件 path.hpp 第 561 行定义.

引用了 ystdex::cpp2017::empty(), ystdex::fseq::front, ystdex::cpp2017::size() , 以及 yconstraint.

被这些函数引用 ystdex::path< _tSeqCon, _tTraits >::has_leaf() , 以及 ystdex::path< _tSeqCon, _tTraits >::operator/=().

函数调用图:
这是这个函数的调用关系图:

## ◆ is_absolute()

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

bool ystdex::path< _tSeqCon, _tTraits >::is_absolute | ( |  | ) | const

inline

在文件 path.hpp 第 519 行定义.

引用了 ystdex::cpp2017::empty() , 以及 ystdex::fseq::front.

被这些函数引用 ystdex::path< _tSeqCon, _tTraits >::get_root() , 以及 ystdex::path< _tSeqCon, _tTraits >::is_relative().

函数调用图:
这是这个函数的调用关系图:

## ◆ is_relative()

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

bool ystdex::path< _tSeqCon, _tTraits >::is_relative | ( |  | ) | const

inline

在文件 path.hpp 第 525 行定义.

引用了 ystdex::path< _tSeqCon, _tTraits >::is_absolute().

函数调用图:

## ◆ merge_parents()

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

void ystdex::path< _tSeqCon, _tTraits >::merge_parents | ( |  | ) |

inline

在文件 path.hpp 第 531 行定义.

引用了 ystdex::cpp2017::begin(), ystdex::cpp2017::end(), YSLib::i, x, YSLib::UI::y , 以及 yassume.

被这些函数引用 ystdex::path< _tSeqCon, _tTraits >::normalize().

函数调用图:
这是这个函数的调用关系图:

## ◆ operator/=() [1/4]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

path& ystdex::path< _tSeqCon, _tTraits >::operator/= | ( | const path< _tSeqCon, _tTraits > & | pth | ) |

inline

追加路径。

参见
  root_diverged

当参数为绝对路径或具有和 *this 相同的非空根名称时，替换路径； 否则，顺序追加路径中的每个元素。 若需要特征以外的其它比较操作，可由用户代码单独根据根的判断。

警告
  不完全强异常安全：只保证非替换时。

自从
  build 600

在文件 path.hpp 第 408 行定义.

引用了 ystdex::path< _tSeqCon, _tTraits >::root_diverged() , 以及 CHRLib::s.

函数调用图:

## ◆ operator/=() [2/4]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

path& ystdex::path< _tSeqCon, _tTraits >::operator/= | ( | const value_type & | s | ) |

inline

追加路径元素。

自从
  build 600

按特征中的谓词判断路径元素类别并处理路径元素。 忽略空路径元素。 特定类别的路径元素按特定行为修改当前路径： 谓词 is_parent 指定切换当前路径到父目录，若不能满足则被忽略； 谓词 is_self 指定不切换当前目录，被无条件忽略。 没有符合以上谓词的路径元素按容器的 push_back 调用被追加。 处理 is_parent 谓词的路径时，可能修改现有无根路径中的部分元素，而不仅如 std::filesystem::path::operator/= 修改全部的相对路径。

在文件 path.hpp 第 358 行定义.

引用了 ystdex::cpp2017::empty(), ystdex::path< _tSeqCon, _tTraits >::has_leaf_nonempty() , 以及 CHRLib::s.

函数调用图:

## ◆ operator/=() [3/4]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

path& ystdex::path< _tSeqCon, _tTraits >::operator/= | ( | path< _tSeqCon, _tTraits > && | pth | ) |

inline

在文件 path.hpp 第 418 行定义.

引用了 ystdex::path< _tSeqCon, _tTraits >::root_diverged() , 以及 CHRLib::s.

函数调用图:

## ◆ operator/=() [4/4]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

path& ystdex::path< _tSeqCon, _tTraits >::operator/= | ( | value_type && | s | ) |

inline

在文件 path.hpp 第 376 行定义.

引用了 ystdex::cpp2017::empty(), ystdex::fseq::front, CHRLib::s , 以及 ystdex::cpp2017::size().

函数调用图:

## ◆ operator=() [1/3]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

path& ystdex::path< _tSeqCon, _tTraits >::operator= | ( | const path< _tSeqCon, _tTraits > & | pth | ) |

inline

在文件 path.hpp 第 327 行定义.

引用了 ystdex::path< _tSeqCon, _tTraits >::path().

函数调用图:

## ◆ operator=() [2/3]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

path& ystdex::path< _tSeqCon, _tTraits >::operator= | ( | path< _tSeqCon, _tTraits > && | pth | ) |

inline

在文件 path.hpp 第 332 行定义.

## ◆ operator=() [3/3]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

path& ystdex::path< _tSeqCon, _tTraits >::operator= | ( | std::initializer_list< value_type > | il | ) |

inline

在文件 path.hpp 第 338 行定义.

引用了 ystdex::path< _tSeqCon, _tTraits >::path().

函数调用图:

## ◆ redirect() [1/2]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

path& ystdex::path< _tSeqCon, _tTraits >::redirect | ( | const path< _tSeqCon, _tTraits > & | pth | ) |

inline

重定向路径

同以路径为参数的 `operator/=` ，但若不替换路径，先调用 remove_leaf 。

在文件 path.hpp 第 575 行定义.

引用了 ystdex::path< _tSeqCon, _tTraits >::remove_leaf(), ystdex::path< _tSeqCon, _tTraits >::root_diverged() , 以及 CHRLib::s.

函数调用图:

## ◆ redirect() [2/2]

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

path& ystdex::path< _tSeqCon, _tTraits >::redirect | ( | path< _tSeqCon, _tTraits > && | pth | ) |

inline

在文件 path.hpp 第 588 行定义.

引用了 ystdex::path< _tSeqCon, _tTraits >::remove_leaf(), ystdex::path< _tSeqCon, _tTraits >::root_diverged() , 以及 CHRLib::s.

函数调用图:

## ◆ remove_leaf()

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

bool ystdex::path< _tSeqCon, _tTraits >::remove_leaf | ( |  | ) |

inline

若移除最后元素不会改变根路径，则移除最后的元素。

在文件 path.hpp 第 604 行定义.

引用了 ystdex::path< _tSeqCon, _tTraits >::has_leaf().

被这些函数引用 ystdex::path< _tSeqCon, _tTraits >::redirect().

函数调用图:
这是这个函数的调用关系图:

## ◆ root_diverged()

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

bool ystdex::path< _tSeqCon, _tTraits >::root_diverged | ( | const path< _tSeqCon, _tTraits > & | pth | ) | const

inline

判断参数指定的路径是否和 `*this` 不同而无法直接作为相对路径追加。

参见
  traits_type::is_absolute
  traits_type::has_root_name
  traits_type::have_same_root_names
  WG21 P0492R2 。

自从
  build 836

检查两个路径元素。若参数是绝对路径，或者存在和 `*this` 不相同的根名称， 则视为相异。 和 WG21 P0492R2 中对 US 77 和 CA 6 涉及非根路径的追加操作的解决方案类似， 非相对路径检查相对路径时直接替代。 根名称比较由特征确定。

在文件 path.hpp 第 630 行定义.

引用了 ystdex::fseq::front.

被这些函数引用 ystdex::path< _tSeqCon, _tTraits >::operator/=() , 以及 ystdex::path< _tSeqCon, _tTraits >::redirect().

这是这个函数的调用关系图:

## ◆ swap()

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

void ystdex::path< _tSeqCon, _tTraits >::swap | ( | path< _tSeqCon, _tTraits > & | pth | ) |

inline

在文件 path.hpp 第 638 行定义.

引用了 ystdex::cpp2017::swap().

函数调用图:

## 友元及相关函数文档

## ◆ normalize()

template<class _tSeqCon , class _tTraits >

void normalize | ( | path< _tSeqCon, _tTraits > & | pth | ) |

related

正规化。

自从
  build 473

在文件 path.hpp 第 663 行定义.

引用了 ystdex::path< _tSeqCon, _tTraits >::filter_self() , 以及 ystdex::path< _tSeqCon, _tTraits >::merge_parents().

函数调用图:

## ◆ operator<

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

bool operator< | ( | const path< _tSeqCon, _tTraits > & | x,
|  | const path< _tSeqCon, _tTraits > & | y
| ) |  |

friend

在文件 path.hpp 第 437 行定义.

## ◆ operator==

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

bool operator== | ( | const path< _tSeqCon, _tTraits > & | x,
|  | const path< _tSeqCon, _tTraits > & | y
| ) |  |

friend

自从
  build 600

在文件 path.hpp 第 432 行定义.

## ◆ swap

template<class _tSeqCon , class _tTraits = path_traits<typename _tSeqCon::value_type>>

void swap | ( | path< _tSeqCon, _tTraits > & | x,
|  | path< _tSeqCon, _tTraits > & | y
| ) |  |

friend

交换。

自从
  build 844

在文件 path.hpp 第 648 行定义.

该类的文档由以下文件生成:

- path.hpp