YSTest: path.hpp 文件参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

类 | 命名空间 | 枚举 | 函数
path.hpp 文件参考
YBaseLib » YStandardExtend

抽象路径模板。 更多...

`#include "string.hpp"`
`#include "operators.hpp"`
`#include "type_op.hpp"`
path.hpp 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

## 类

struct | ystdex::path_traits< _type >
| 路径特征。 更多...
struct | ystdex::path_traits< void >
struct | ystdex::path_traits< basic_string< _tChar, _tTraits, _tAlloc > >
| 文件字符串路径特征。 更多...
class | ystdex::path< _tSeqCon, _tTraits >
| 一般路径模板。 更多...
struct | std::uses_allocator< ystdex::path< _tSeqCon, _tTraits >, _tAlloc >
| 特化 uses-allcator 构造。 更多...

## 命名空间

| ystdex
| `<memory>` 特性测试宏。
| std

## 枚举

enum | ystdex::path_category : size_t { ystdex::path_category::empty, ystdex::path_category::self, ystdex::path_category::parent, ystdex::path_category::node }
| 路径类别。 更多...

## 函数

template<class _tSeqCon , class _tTraits >
_tSeqCon::value_type | ystdex::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 | ystdex::to_string_d (const path< _tSeqCon, _tTraits > &pth, typename string_traits< typename _tSeqCon::value_type >::value_type delimiter='/')
| 取以分隔符结束的字符串表示。 更多...

## 详细描述

抽象路径模板。

版本
  r1531

作者
  FrankHB frank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com

自从
  build 408

创建时间:
  2013-05-27 02:42:19 +0800

修改时间:
  2020-01-27 03:08 +0800

文本编码:
  UTF-8

模块名称:
  YStandardEx::Path

这个模块提供通用的、抽象的路径的表示和若干相关操作。 和 std::filesystem::path 专用于表示文件系统路径的目的（参见 WG21 N1975 ）不同， 设计有许多差异；因此并非 ISO C++17 [fs.class.path] 的直接替代。 但作为路径的表示，一些设计仍然有类似之处，且一些典型用例可被基于本模块的 API 涵盖。 本设计的路径具有以下抽象构造： 路径是元素的容器，其中的元素是能对资源起标识作用的值。 一般地，路径分为顺序的两部分：至多由一个元素表示的根路径(root path) ， 和之后的不限个数的非空元素表示的限定的无根路径(rootless path) 。 其中，根路径和无根路径都是可选的。 路径和称为路径名(pathname) 的作为外部表示的字符串关联（可能非一一对应）。 路径可能有其它外部表示，但其交互不在本设计中指定。 路径名中使用分隔符(separater) 隔离元素。 典型地，一个分隔字符(delimiter) 可作为分隔符。 基于路径性质的不同，以路径特征(path trait) 参数化，调整不同的路径操作。 路径和外部表示的互操作应通过对元素的操作进行。 部分操作，包括可能的和外部路径之间存在的一些转换，可由按需特化的路径特征指定。 不存在根路径的路径或具有特定被特征另行指定的根的路径是相对路径；其它路径是绝对路径。 判断是否为根路径及是否允许在根路径保留路径名中的任意连续的分隔符由特征间接限定。 若需区分根路径中的组成部分，实现可进一步对根路径留空或置其它特定值， 其具体组成部分另行约定和表示，由特征间接限定。 抽象的路径和具体文件系统无关，不限 ISO C++17 [filesystems] 指定的功能，不被具体 文件系统的假设约束，可表示一般的文件系统、网络和其它资源的具有层次的限定名， 如 UNC 、URL 及 C++ 限定名。

在文件 path.hpp 中定义.