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

YSTest PreAlpha_b500_20140530 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 类列表
- 类索引
- 类继承关系
- 类成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
Public 类型 | Public 成员函数 | Public 属性 | Private 类型 | 静态 Private 成员函数 | 相关函数 | 所有成员列表
ystdex::path< _tSeqCon, _tNorm > 模板类 参考

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

`#include <path.hpp>`

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

## Public 类型

using | value_type = typename _tSeqCon::value_type
using | norm = _tNorm
using | default_norm = ystdex::conditional_t< std::is_default_constructible< norm >::value, norm, file_path_norm< value_type >>
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::container_type::reverse_iterator
using | const_reverse_iterator = typename base::container_type::const_reverse_iterator

## Public 成员函数

| path (std::unique_ptr< norm > p=std::unique_ptr< norm >())
| path (base &&b, std::unique_ptr< norm > p=std::unique_ptr< norm >())
| path (size_type n, std::unique_ptr< norm > p=std::unique_ptr< norm >())
| path (size_type n, value_type root, std::unique_ptr< norm > p=std::unique_ptr< norm >())
template<typename _tIn >
| path (_tIn first, _tIn last, std::unique_ptr< norm > p=std::unique_ptr< norm >())
template<typename... _tParams>
| path (std::unique_ptr< norm > p, _tParams &&...args)
| path (const path &pth)
| path (path &&pth)
| path (std::initializer_list< value_type > il, std::unique_ptr< norm > p=std::unique_ptr< norm >())
path & | operator= (const path &pth)
path & | operator= (path &&pth)
path & | operator= (std::initializer_list< value_type > il)
bool | before (const path &pth) const
bool | equals (const path &pth) const
void | filter_self ()
norm & | get_norm () const
value_type | get_root () const
bool | is_absolute () const
bool | is_relative () const
void | merge_parents ()
void | swap (path &pth)

## Public 属性

std::unique_ptr< norm > | p_norm

## Private 类型

using | base = sequence_container_adaptor< _tSeqCon >
Private 类型 继承自 ystdex::sequence_container_adaptor< _tSeqCon >
using | container_type = typename base::container_type
using | value_type = typename container_type::value_type
using | size_type = typename container_type::size_type

## 静态 Private 成员函数

static std::unique_ptr< norm > | unique_norm (std::unique_ptr< norm > &p)

## 相关函数

(请注意: 这些不是成员函数.)
template<class _tSeqCon , class _tNorm >
void | normalize (path< _tSeqCon, _tNorm > &pth)
| 正规化。 更多...
template<class _tSeqCon , class _tNorm >
void | swap (path< _tSeqCon, _tNorm > &x, path< _tSeqCon, _tNorm > &y)
| 交换。 更多...
template<class _tSeqCon , class _tNorm >
_tSeqCon::value_type | to_string (const path< _tSeqCon, _tNorm > &pth, const typename _tSeqCon::value_type &seperator=&to_array< typename string_traits< typename _tSeqCon::value_type >::value_type >("/")[0])
| 取字符串表示。 更多...
template<class _tSeqCon , class _tNorm >
_tSeqCon::value_type | to_string_d (const path< _tSeqCon, _tNorm > &pth, typename string_traits< typename _tSeqCon::value_type >::value_type delimiter= '/')
| 取分隔符结尾的字符串表示。 更多...

## 额外继承的成员函数

Private 成员函数 继承自 ystdex::sequence_container_adaptor< _tSeqCon >
| sequence_container_adaptor ()=default
| 满足序列容器要求。 更多...
| sequence_container_adaptor (size_type n)
| sequence_container_adaptor (size_type n, const value_type &value)
template<class _tIn >
| sequence_container_adaptor (_tIn first, _tIn last)
| sequence_container_adaptor (const sequence_container_adaptor &)=default
| sequence_container_adaptor (sequence_container_adaptor &&)=default
| sequence_container_adaptor (std::initializer_list< value_type > il)
sequence_container_adaptor & | operator= (const sequence_container_adaptor &)=default
sequence_container_adaptor & | operator= (sequence_container_adaptor &&)=default
sequence_container_adaptor & | operator= (std::initializer_list< value_type > il)

## 详细描述

### template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
class ystdex::path< _tSeqCon, _tNorm >

一般路径模板。

自从
  build 473

模板参数

  _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] 。

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

## 成员类型定义说明

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

using ystdex::path< _tSeqCon, _tNorm >::base = sequence_container_adaptor<_tSeqCon>

private

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

using ystdex::path< _tSeqCon, _tNorm >::default_norm = ystdex::conditional_t<std::is_default_constructible< norm>::value, norm, file_path_norm<value_type>>

自从
  build 473

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

using ystdex::path< _tSeqCon, _tNorm >::norm = _tNorm

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

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

## 构造及析构函数说明

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

ystdex::path< _tSeqCon, _tNorm >::path | ( | std::unique_ptr< norm > | p = `std::unique_ptr<norm>()` | ) |

inline

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

ystdex::path< _tSeqCon, _tNorm >::path | ( | base && | b,
|  | std::unique_ptr< norm > | p = `std::unique_ptr<norm>()`
| ) |  |

inlineexplicit

自从
  build 433

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

ystdex::path< _tSeqCon, _tNorm >::path | ( | size_type | n,
|  | std::unique_ptr< norm > | p = `std::unique_ptr<norm>()`
| ) |  |

inlineexplicit

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

ystdex::path< _tSeqCon, _tNorm >::path | ( | size_type | n,
|  | value_type | root,
|  | std::unique_ptr< norm > | p = `std::unique_ptr<norm>()`
| ) |  |

inline

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
template<typename _tIn >

ystdex::path< _tSeqCon, _tNorm >::path | ( | _tIn | first,
|  | _tIn | last,
|  | std::unique_ptr< norm > | p = `std::unique_ptr<norm>()`
| ) |  |

inline

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>
template<typename... _tParams>

ystdex::path< _tSeqCon, _tNorm >::path | ( | std::unique_ptr< norm > | p,
|  | _tParams &&... | args
| ) |  |

inline

自从
  build 433

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

inline

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

inline

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

参考 ystdex::path< _tSeqCon, _tNorm >::swap().

函数调用图:
template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

ystdex::path< _tSeqCon, _tNorm >::path | ( | std::initializer_list< value_type > | il,
|  | std::unique_ptr< norm > | p = `std::unique_ptr<norm>()`
| ) |  |

inline

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

## 成员函数说明

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

bool ystdex::path< _tSeqCon, _tNorm >::before | ( | const path< _tSeqCon, _tNorm > & | pth | ) | const

inline

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

参考 ystdex::path< _tSeqCon, _tNorm >::get_norm().

参考自 ystdex::operator<().

函数调用图:

这是这个函数的调用关系图:
template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

bool ystdex::path< _tSeqCon, _tNorm >::equals | ( | const path< _tSeqCon, _tNorm > & | pth | ) | const

inline

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

参考 ystdex::path< _tSeqCon, _tNorm >::get_norm().

参考自 ystdex::operator==().

函数调用图:

这是这个函数的调用关系图:
template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

inline

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

参考 ystdex::erase_all_if() , 以及 platform_ex::Windows::s.

参考自 ystdex::path< _tSeqCon, _tNorm >::normalize().

函数调用图:

这是这个函数的调用关系图:
template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

norm& ystdex::path< _tSeqCon, _tNorm >::get_norm | ( |  | ) | const

inline

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

参考 yconstraint.

参考自 ystdex::path< _tSeqCon, _tNorm >::before(), YSLib::IO::ClassifyNode() , 以及 ystdex::path< _tSeqCon, _tNorm >::equals().

这是这个函数的调用关系图:
template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

inline

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

inline

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

inline

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

inline

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

参考 yassume.

参考自 ystdex::path< _tSeqCon, _tNorm >::normalize().

这是这个函数的调用关系图:
template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

inline

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

inline

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

inline

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

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

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

inline

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

参考 ystdex::swap().

参考自 ystdex::path< _tSeqCon, _tNorm >::path() , 以及 ystdex::path< _tSeqCon, _tNorm >::swap().

函数调用图:

这是这个函数的调用关系图:
template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

static std::unique_ptr<norm> ystdex::path< _tSeqCon, _tNorm >::unique_norm | ( | std::unique_ptr< norm > & | p | ) |

inlinestaticprivate

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

## 友元及相关函数文档

template<class _tSeqCon , class _tNorm >

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

related

正规化。

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

参考 ystdex::path< _tSeqCon, _tNorm >::filter_self() , 以及 ystdex::path< _tSeqCon, _tNorm >::merge_parents().

函数调用图:
template<class _tSeqCon , class _tNorm >

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

related

交换。

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

参考 ystdex::path< _tSeqCon, _tNorm >::swap().

函数调用图:
template<class _tSeqCon , class _tNorm >

_tSeqCon::value_type to_string | ( | const path< _tSeqCon, _tNorm > & | pth,
|  | const typename _tSeqCon::value_type & | seperator = `&to_array< typename string_traits<typename _tSeqCon::value_type>::value_type>("/")[0]`
| ) |  |

related

取字符串表示。

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

template<class _tSeqCon , class _tNorm >

_tSeqCon::value_type to_string_d | ( | const path< _tSeqCon, _tNorm > & | pth,
|  | typename string_traits< typename _tSeqCon::value_type >::value_type | delimiter = `'/'`
| ) |  |

related

取分隔符结尾的字符串表示。

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

参考 platform_ex::Windows::s.

## 类成员变量说明

template<class _tSeqCon, class _tNorm = ystdex::path_norm<typename _tSeqCon::value_type>>

std::unique_ptr<norm> ystdex::path< _tSeqCon, _tNorm >::p_norm

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

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

- path.hpp