YSTest: platform::HDirectory类 参考

YSTest PreAlpha_b800_20170810 The YSLib Test Project

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

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

Public 类型 | Public 成员函数 | Public 属性 | Private 属性 | 相关函数 | 所有成员列表
platform::HDirectory类 参考final

目录句柄：表示打开的目录和内容迭代状态。 更多...

`#include <FileSystem.h>`

类 platform::HDirectory 继承关系图:
[图例]
platform::HDirectory 的协作图:
[图例]

## Public 类型

using | NativeChar = char
using | iterator = ystdex::indirect_input_iterator< HDirectory * >

## Public 成员函数

DefDeMoveCtor(HDirectory) DefDeMoveAssignment(HDirectory) using ystdex HDirectory & | operator++ ()
| 间接操作：取自身引用。 更多...
| DefBoolNeg (explicit, bool(p_dirent)) DefCvt(const ynothrow
| 判断文件系统节点无效或有效性。 更多...
| GetNativeName ()) operator string() const
| operator u16string () const
NodeCategory | GetNodeCategory () const ynothrow
| 取节点状态信息确定的文件系统节点类别。 更多...
YB_ATTR_returns_nonnull const NativeChar * | GetNativeName () const ynothrow
| 间接操作：取节点名称。 更多...

## Public 属性

| basic_string_view< NativeChar >

## Private 属性

friend | deref_self< HDirectory >
tidy_ptr<::dirent > | p_dirent {}
| 节点信息。 更多...
Private 属性 继承自 platform::DirectorySession
| NativeHandle
string | sDirPath
| 目录路径。 更多...

## 相关函数

(请注意: 这些不是成员函数.)
#define | PDefH(_t, _n, ...)
| 已知文件系统类型。 更多...
| end
| PDefH (iterator, begin,) ImplRet(this) PDefH(iterator

## 额外继承的成员函数

Private 类型 继承自 platform::DirectorySession
using | Data = void
using | NativeHandle = Data *
Private 成员函数 继承自 platform::DirectorySession
| DefDeMoveCtor (DirectorySession) DefDeDtor(DirectorySession) DefDeMoveAssignment(DirectorySession) DefGetter(const ynothrow
| 析构：关闭目录路径。 更多...
dir | get ()) void Rewind() ynothrow
| 复位目录状态。 更多...
| DirectorySession ()
| 构造：打开目录路径。 更多...
| YB_NONNULL (2) DirectorySession(const char *)
| YB_NONNULL (2) DirectorySession(const char16_t *)
Private 成员函数 继承自 ystdex::deref_self< HDirectory >
HDirectory & | operator* ()
const HDirectory & | operator* () const
volatile HDirectory & | operator* () volatile
const volatile HDirectory & | operator* () const volatile

## 详细描述

目录句柄：表示打开的目录和内容迭代状态。

不变性
  `!*this || bool(GetNativeHandle())` 。

自从
  build 411

在文件 YCLib/FileSystem.h 第 562 行定义.

## 成员类型定义说明

using platform::HDirectory::iterator = ystdex::indirect_input_iterator<HDirectory*>

自从
  build 713

在文件 YCLib/FileSystem.h 第 578 行定义.

using platform::HDirectory::NativeChar = char

自从
  build 648

在文件 YCLib/FileSystem.h 第 576 行定义.

## 成员函数说明

platform::HDirectory::DefBoolNeg | ( | explicit | ,
|  | bool(p_dirent) |
| ) |  | const

判断文件系统节点无效或有效性。

自从
  build 561
  build 648

const HDirectory::NativeChar * platform::HDirectory::GetNativeName | ( |  | ) | const

自从
  build 593

在文件 YCLib/FileSystem.cpp 第 491 行定义.

YB_ATTR_returns_nonnull const NativeChar* platform::HDirectory::GetNativeName | ( |  | ) | const

间接操作：取节点名称。

返回
  非空结果：子节点不可用时为对应类型的 `"."` ，否则为子节点名称。

注解
  返回的结果在析构和下一次迭代前保持有效。

自从
  build 648

NodeCategory platform::HDirectory::GetNodeCategory | ( |  | ) | const

取节点状态信息确定的文件系统节点类别。

返回
  未迭代文件时为 NodeCategory::Empty ，否则为对应的其它节点类别。

注解
  不同系统支持的可能不同。

自从
  build 474

在文件 YCLib/FileSystem.cpp 第 428 行定义.

参考 CatchExpr, platform::CategorizeNode(), platform::Deref(), CHRLib::e, platform::KeyCodes::Win32::Empty, platform_ex::Windows::Invalid, YSLib::UI::name, platform::Descriptions::Warning, YAssert, YCL_Impl_lstatn, YCL_TraceCallF_CAPI, yfsig , 以及 YTraceDe.

函数调用图:

platform::HDirectory::operator u16string | ( |  | ) | const

自从
  build 648

在文件 YCLib/FileSystem.cpp 第 480 行定义.

参考 platform_ex::MakePathStringU.

HDirectory & platform::HDirectory::operator++ | ( |  | ) |

间接操作：取自身引用。

自从
  build 669
  build 549

注解
  使用 ystdex::indirect_input_iterator 和转换函数访问。

自从
  build 556

迭代：向后遍历。

异常

  std::system_error | 读取目录失败。

在文件 YCLib/FileSystem.cpp 第 393 行定义.

参考 ystdex::make_observer(), ystdex::throw_error(), YAssert , 以及 yfsig.

函数调用图:

platform::HDirectory::PDefH | ( | iterator | ,
|  | begin |
| ) |  |

自从
  build 713

## 友元及相关函数文档

#define PDefH | ( |  | bool,
|  |  | is_undereferenceable,
|  |  | const HDirectory &i
| ) |  |

related

值:
_t \
_n(__VA_ARGS__)

已知文件系统类型。

参见
  ystdex::is_undereferenceable

自从
  build 561
  build 607

在文件 YCLib/FileSystem.h 第 670 行定义.

## 类成员变量说明

platform::HDirectory::basic_string_view< NativeChar >

在文件 YCLib/FileSystem.h 第 629 行定义.

friend platform::HDirectory::deref_self< HDirectory >

private

自从
  build 556

在文件 YCLib/FileSystem.h 第 566 行定义.

platform::HDirectory::end

在文件 YCLib/FileSystem.h 第 660 行定义.

tidy_ptr<::dirent> platform::HDirectory::p_dirent {}

private

节点信息。

自从
  build 669

在文件 YCLib/FileSystem.h 第 589 行定义.

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

- YCLib/FileSystem.h
- YCLib/FileSystem.cpp