YSTest: platform_ex::Windows::DirectoryFindData类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

类 | Public 成员函数 | Public 属性 | Private 属性 | 所有成员列表
platform_ex::Windows::DirectoryFindData类 参考

文件系统目录查找状态。 更多...

`#include <MinGW32.h>`

类 platform_ex::Windows::DirectoryFindData 继承关系图:
[图例]
platform_ex::Windows::DirectoryFindData 的协作图:
[图例]

## 类

class | Deleter

## Public 成员函数

| DirectoryFindData (wstring_view sv)
| 构造：使用指定的目录路径。 更多...
| DirectoryFindData (u16string_view sv)
| DirectoryFindData (wstring)
| DefDeDtor (DirectoryFindData) DefBoolNeg(explicit
| 析构：若查找节点句柄非空则关闭查找状态。 更多...
p_node | get ()) DefGetter(const ynothrow
p_node unsigned find_data dwFileAttributes YB_PURE | DefGetter (const ynothrow, const wchar_t *, EntryName, find_data.cFileName) DefGetter(const ynothrow
| 返回当前查找项目名。 更多...
void | Rewind () ynothrow
| 复位查找状态：若查找节点句柄非空则关闭查找状态并置查找节点句柄空。 更多...

## Public 属性

p_node unsigned | long
p_node unsigned | Attributes
p_node unsigned find_data dwFileAttributes YB_PUREconst ::WIN32_FIND_DATAW | FindData
p_node unsigned find_data dwFileAttributes YB_PUREconst ::WIN32_FIND_DATAW find_data DefGetter(const ynothrow, const wstring &, DirName,(YAssert(dir_name.length() > 1 &&ystdex::ends_with(dir_name, L"\\*"), "Invalid directory name found."), dir_name)) platform boo | Read )()
| 取子节点的类型。 更多...

## Private 属性

wstring | dir_name
| 查找起始的目录名称。 更多...
::WIN32_FIND_DATAW | find_data
| Win32 查找数据。 更多...
unique_ptr_from< Deleter > | p_node {}
| 查找节点。 更多...

## 额外继承的成员函数

Private 成员函数 继承自 ystdex::bases::noncopyable
| noncopyable (const noncopyable &)=delete
| 禁止复制构造。 更多...
| noncopyable (noncopyable &&)=default
| 允许转移构造。 更多...
noncopyable & | operator= (const noncopyable &)=delete
| 禁止复制赋值。 更多...
noncopyable & | operator= (noncopyable &&)=default
| 允许转移赋值。 更多...
| noncopyable ()=default
| `protected` 构造：默认实现。 更多...
| ~noncopyable ()=default
| `protected` 析构：默认实现。 更多...

## 详细描述

文件系统目录查找状态。

警告
  非虚析构。

自从
  build 549

在文件 Win32/include/YCLib/MinGW32.h 第 674 行定义.

## 构造及析构函数说明

## ◆ DirectoryFindData() [1/3]

platform_ex::Windows::DirectoryFindData::DirectoryFindData | ( | wstring_view | sv | ) |

inline

构造：使用指定的目录路径。

前置条件
  间接断言：路径参数的数据指针非空。

异常

  std::system_error | 指定的路径不是目录。
  Win32Exception | 路径属性查询失败。

自从
  build 658

打开 UTF-16 路径指定的目录。 目录路径无视结尾的斜杠和反斜杠。 去除结尾斜杠和反斜杠后若为空则视为当前路径。

在文件 Win32/include/YCLib/MinGW32.h 第 715 行定义.

## ◆ DirectoryFindData() [2/3]

platform_ex::Windows::DirectoryFindData::DirectoryFindData | ( | u16string_view | sv | ) |

inline

自从
  build 705

在文件 Win32/include/YCLib/MinGW32.h 第 719 行定义.

## ◆ DirectoryFindData() [3/3]

platform_ex::Windows::DirectoryFindData::DirectoryFindData | ( | wstring |  | ) |

自从
  build 705

## 成员函数说明

## ◆ DefDeDtor()

platform_ex::Windows::DirectoryFindData::DefDeDtor | ( | DirectoryFindData |  | ) |

析构：若查找节点句柄非空则关闭查找状态。

自从
  build 556

## ◆ DefGetter()

p_node unsigned find_data dwFileAttributes YB_PURE platform_ex::Windows::DirectoryFindData::DefGetter | ( | const | ynothrow,
|  | const wchar_t * | ,
|  | EntryName | ,
|  | find_data. | cFileName
| ) |  | const

返回当前查找项目名。

返回
  当前查找项目名。

自从
  build 705

## ◆ get()

p_node platform_ex::Windows::DirectoryFindData::get | ( |  | ) | const

自从
  build 564

## ◆ Rewind()

void platform_ex::Windows::DirectoryFindData::Rewind | ( |  | ) |

复位查找状态：若查找节点句柄非空则关闭查找状态并置查找节点句柄空。

## 类成员变量说明

## ◆ Attributes

p_node unsigned platform_ex::Windows::DirectoryFindData::Attributes

在文件 Win32/include/YCLib/MinGW32.h 第 732 行定义.

## ◆ dir_name

wstring platform_ex::Windows::DirectoryFindData::dir_name

private

查找起始的目录名称。

不变性
  `dir_name.length() > 1 && ystdex::ends_with(dir_name, L"\\*")` 。

参见
  GetDirName

自从
  build 593

在文件 Win32/include/YCLib/MinGW32.h 第 694 行定义.

## ◆ find_data

::WIN32_FIND_DATAW platform_ex::Windows::DirectoryFindData::find_data

private

Win32 查找数据。

在文件 Win32/include/YCLib/MinGW32.h 第 696 行定义.

## ◆ FindData

p_node unsigned find_data dwFileAttributes YB_PUREconst ::WIN32_FIND_DATAW platform_ex::Windows::DirectoryFindData::FindData

在文件 Win32/include/YCLib/MinGW32.h 第 741 行定义.

## ◆ long

p_node unsigned platform_ex::Windows::DirectoryFindData::long

在文件 Win32/include/YCLib/MinGW32.h 第 732 行定义.

## ◆ p_node

unique_ptr_from<Deleter> platform_ex::Windows::DirectoryFindData::p_node {}

private

查找节点。

自从
  build 702

在文件 Win32/include/YCLib/MinGW32.h 第 701 行定义.

## ◆ Read

p_node unsigned find_data dwFileAttributes YB_PUREconst ::WIN32_FIND_DATAW find_data DefGetter (const ynothrow, const wstring&, DirName, (YAssert( dir_name.length() > 1 && ystdex::ends_with(dir_name, L"\\*"), "Invalid directory name found."), dir_name)) platform boo platform_ex::Windows::DirectoryFindData::Read) ()

取子节点的类型。

自从
  build 593

返回
  当前节点无效或查找的项目名称为空时为 platform::NodeCategory::Empty ， 否则为处理文件信息得到的值。

参见
  CategorizeNode

自从
  build 658

处理文件信息时，首先调用 CategorizeNode 对查找数据归类； 然后打开名称指定的文件进一步调用 CategorizeNode 对打开的文件判断归类。

读取：迭代当前查找状态。

异常

  Win32Exception | 读取失败。

返回
  若迭代结束后节点且文件名非空。

自从
  build 705

若查找节点句柄非空则迭代当前查找状态查找下一个文件系统项。 否则查找节点句柄为空或迭代失败则关闭查找状态并置查找节点句柄空。 最终查找节点非空时保存记录当前查找的项目状态。

在文件 Win32/include/YCLib/MinGW32.h 第 770 行定义.

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

- Win32/include/YCLib/MinGW32.h