YSTest: YSLib::IO::Path类 参考

YSTest PreAlpha_b800_20170810 The YSLib Test Project

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

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

Public 类型 | Public 成员函数 | Public 属性 | 相关函数 | 所有成员列表
YSLib::IO::Path类 参考

路径。 更多...

`#include <FileSystem.h>`

类 YSLib::IO::Path 继承关系图:
[图例]
YSLib::IO::Path 的协作图:
[图例]

## Public 类型

using | iterator = typename base::iterator
using | const_iterator = typename base::const_iterator
using | value_type = typename _tSeqCon::value_type
using | traits_type = _tTraits

## Public 成员函数

| DefDeCtor (Path) explicit Path(ypath pth) ynothrow
| 无参数构造：默认实现。 更多...
| Path (const u16string &str) ynothrow
template<typename _type , yimpl(typename=ystdex::enable_if_t< !std::is_constructible< const u16string &, _type && >::value >,typename=ystdex::exclude_self_t< Path, _type >) >
| Path (_type &&arg)
template<typename _type >
| Path (_type &&arg, Text::Encoding enc)
template<typename _tIn >
| Path (_tIn first, _tIn last)
template<typename _tElem >
| Path (std::initializer_list< _tElem > il)
| DefDeCopyCtor (Path) DefDeMoveCtor(Path) DefDeDtor(Path) DefDeCopyAssignment(Path) DefDeMoveAssignment(Path) PDefHOp(Path &
| 复制构造：默认实现。 更多...
const String &fname | ImplRet (GetBaseRef()/=fname,*this) PDefHOp(Path &
const String &fname const Path &pth | ImplRet (GetBaseRef()/=pth,*this) friend PDefHOp(bool
const String &fname const Path &pth const Path const Path &y | ImplRet (x.GetBase()==y.GetBase()) friend PDefHOp(bool

## Public 属性

const String &fname const Path &pth const Path & | x

## 相关函数

(请注意: 这些不是成员函数.)
const string &path const String &path class class class class | _tTraits
PDefH(String, GetExtensionOf, const Path &pth) ImplRet(pth.empty()?String() YF_API | YB_NONNULL (1) bool VerifyDirectory(const char *)
| 判断路径表示绝对路径。 更多...
| VerifyDirectory
const u16string &path | VerifyDirectory
const u16string &path const String &path | VerifyDirectory
| EnsureDirectory
const string &path | EnsureDirectory
const string &path const String &path class | _tString = typename _tPath::value_type
const string &path const String &path class class | _tTraits
const string &path const String &path class class class | _tString = typename _tPath::value_type
#define | YB_NONNULL(...)
#define | PDefH(_t, _n, ...)
#define | ImplRet(...)
| 验证目录路径结尾：确保当且仅当验证成功时保留结尾字符。 更多...
YF_API void | EnsureDirectory (const Path &)
| 验证路径表示的目录是否存在，若不存在则逐级创建。 更多...
#define | ImplExpr(...)
| 解析路径：取跟踪链接的绝对路径。 更多...
相关函数 继承自 ystdex::path< _tSeqCon, _tTraits >
template<class _tSeqCon , class _tTraits >
void | normalize (path< _tSeqCon, _tTraits > &pth)
| 正规化。 更多...
template<class _tSeqCon , class _tTraits >
void | swap (path< _tSeqCon, _tTraits > &x, path< _tSeqCon, _tTraits > &y)
| 交换。 更多...
template<class _tSeqCon , class _tTraits >
_tSeqCon::value_type | to_string (const path< _tSeqCon, _tTraits > &pth, const typename _tSeqCon::value_type &seperator=&to_array< typename string_traits< typename _tSeqCon::value_type >::value_type >("/")[0])
| 取字符串表示。 更多...
template<class _tSeqCon , class _tTraits >
_tSeqCon::value_type | to_string_d (const path< _tSeqCon, _tTraits > &pth, typename string_traits< typename _tSeqCon::value_type >::value_type delimiter= '/')
| 取以分隔符结束的字符串表示。 更多...

## 额外继承的成员函数

Private 类型 继承自 ystdex::path< _tSeqCon, _tTraits >
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::container_type::reverse_iterator
using | const_reverse_iterator = typename base::container_type::const_reverse_iterator
Private 成员函数 继承自 ystdex::path< _tSeqCon, _tTraits >
void | filter_self ()
value_type | get_root () const
bool | is_absolute () const
bool | is_relative () const
void | merge_parents ()
void | swap (path &pth)
| path ()=default
| 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/= (const path &pth)

## 详细描述

路径。

警告
  非虚析构。

在文件 YSLib/Service/FileSystem.h 第 214 行定义.

## 成员类型定义说明

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

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

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

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

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

自从
  build 708

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

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

自从
  build 409

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

## 构造及析构函数说明

YSLib::IO::Path::Path | ( | const u16string & | str | ) |

inlineexplicit

自从
  build 641

在文件 YSLib/Service/FileSystem.h 第 237 行定义.

template<typename _type , yimpl(typename=ystdex::enable_if_t< !std::is_constructible< const u16string &, _type && >::value >,typename=ystdex::exclude_self_t< Path, _type >) >

YSLib::IO::Path::Path | ( | _type && | arg | ) |

inlineexplicit

自从
  build 730

在文件 YSLib/Service/FileSystem.h 第 245 行定义.

template<typename _type >

YSLib::IO::Path::Path | ( | _type && | arg,
|  | Text::Encoding | enc
| ) |  |

inlineexplicit

自从
  build 730

在文件 YSLib/Service/FileSystem.h 第 251 行定义.

template<typename _tIn >

YSLib::IO::Path::Path | ( | _tIn | first,
|  | _tIn | last
| ) |  |

inline

自从
  build 599

在文件 YSLib/Service/FileSystem.h 第 256 行定义.

template<typename _tElem >

YSLib::IO::Path::Path | ( | std::initializer_list< _tElem > | il | ) |

inline

自从
  build 599

在文件 YSLib/Service/FileSystem.h 第 261 行定义.

## 成员函数说明

YSLib::IO::Path::DefDeCopyCtor | ( | Path |  | ) |

复制构造：默认实现。

转移构造：默认实现。

复制赋值：默认实现。

自从
  build 295

转移赋值：默认实现。

自从
  build 295追加路径。
  build 410

YSLib::IO::Path::DefDeCtor | ( | Path |  | ) |

inline

无参数构造：默认实现。

自从
  build 635

在文件 YSLib/Service/FileSystem.h 第 229 行定义.

const String& fname YSLib::IO::Path::ImplRet | ( | GetBaseRef()/ | = `fname`,
|  | * | this
| ) |  |

const String& fname const Path& pth YSLib::IO::Path::ImplRet | ( | GetBaseRef()/ | = `pth`,
|  | * | this
| ) |  |

const String& fname const Path& pth const Path const Path& y YSLib::IO::Path::ImplRet | ( | x. | GetBase() = `= y.GetBase()` | ) |

## 友元及相关函数文档

const string& path const String& path class _tString = typename _tPath::value_type

related

在文件 YSLib/Service/FileSystem.h 第 529 行定义.

const string& path const String& path class class class _tString = typename _tPath::value_type

related

在文件 YSLib/Service/FileSystem.h 第 570 行定义.

const string& path const String& path class class _tTraits

related

在文件 YSLib/Service/FileSystem.h 第 530 行定义.

const string& path const String& path class class class class _tTraits

related

在文件 YSLib/Service/FileSystem.h 第 571 行定义.

YF_API void EnsureDirectory | ( | const Path & |  | ) |

related

验证路径表示的目录是否存在，若不存在则逐级创建。

异常

  std::system_error | 失败时根据 errno 抛出的异常。

注解
  使用 umkdir 实现。

自从
  build 563

在文件 YSLib/Service/FileSystem.cpp 第 106 行定义.

YSLib::IO::Path::EnsureDirectory

related

在文件 YSLib/Service/FileSystem.h 第 508 行定义.

const string& path EnsureDirectory

related

在文件 YSLib/Service/FileSystem.h 第 510 行定义.

#define ImplExpr | ( |  | EnsureDirectory(path.GetMBCS()) | ) |

related

值:
{ \
(__VA_ARGS__), void(); \
}

解析路径：取跟踪链接的绝对路径。

返回
  解析得到的绝对路径。

异常

  std::system_error | std::errc::too_many_symbolic_link_levels 超过链接限制。

注解
  忽略空路径组件。
  使用 ADL cbegin 和 cend 。

自从
  build 708

注解
  第二参数指定起始路径。
  第三参数指定解析链接的次数上限。

#define ImplRet | ( |  | !pth.empty)&&VerifyDirectory(pth.GetString() | ) |

related

值:
{ \
return __VA_ARGS__; \
}

验证目录路径结尾：确保当且仅当验证成功时保留结尾字符。

注解
  使用 ADL VerfiyDirectory 。

自从
  build 710

在文件 YSLib/Service/FileSystem.h 第 479 行定义.

#define PDefH | ( |  | bool,
|  |  | VerifyDirectory,
|  |  | const string &path
| ) |  |

related

值:
_t \
_n(__VA_ARGS__)

自从
  build 699

YSLib::IO::Path::VerifyDirectory

related

在文件 YSLib/Service/FileSystem.h 第 474 行定义.

const u16string& path VerifyDirectory

related

在文件 YSLib/Service/FileSystem.h 第 476 行定义.

const u16string& path const String& path VerifyDirectory

related

在文件 YSLib/Service/FileSystem.h 第 478 行定义.

PDefH (String, GetExtensionOf, const Path& pth) ImplRet(pth.empty() ? String() YF_API YB_NONNULL(1) bool VerifyDirectory(const char *)

related

判断路径表示绝对路径。

自从
  build 410

根据当前工作目录和指定路径取绝对路径。

后置条件
  断言：结果是绝对路径。

返回
  若指定路径为相对路径则为正规化当前工作目录追加此路径，否则为正规化指定路径。

注解
  第二参数指定取当前工作目录指定的起始缓冲区大小。

参见
  IsRelative
  Path::Normalize
  FetchCurrentWorkingDirectory

自从
  build 542

验证路径表示的目录是否存在且可打开。

注解
  受权限限制。

自从
  build 410

在文件 YSLib/Service/FileSystem.h 第 466 行定义.

#define YB_NONNULL | ( |  | ... | ) |

related

自从
  build 699

## 类成员变量说明

const String& fname const Path& pth const Path& YSLib::IO::Path::x

在文件 YSLib/Service/FileSystem.h 第 294 行定义.

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

- YSLib/Service/FileSystem.h