YSTest: platform::HDirectory类 参考

YSTest PreAlpha_b500_20140530 The YSLib Test Project

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

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

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
Public 成员函数 | Private 属性 | 所有成员列表
platform::HDirectory类 参考final

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

`#include <FileSystem.h>`

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

## Public 成员函数

| HDirectory (const char *path) ynothrow
| 构造：使用目录路径。 更多...
const ynothrow ImplRet this HDirectory & | operator++ ()
| 迭代：向后遍历。 更多...
| DefCvt (const ynothrow, bool, p_dirent) DefCvt(const
| 判断文件系统节点有效性。 更多...
| GetName ()) const char *GetName() const ynothrow
| 间接操作：取节点名称。 更多...
NodeCategory | GetNodeCategory () const ynothrow
| 取节点状态信息确定的文件系统节点类别。 更多...
| PDefHOp (HDirectory &,*,) ynothrow ImplRet(*this) PDefHOp(const HDirectory &
| 间接操作：取自身引用。 更多...

## Private 属性

::dirent * | p_dirent
| 节点信息。 更多...

## 额外继承的成员函数

Private 类型 继承自 platform::DirectorySession
using | NativeHandle = ::DIR *
Private 成员函数 继承自 platform::DirectorySession
| DirectorySession (const char *path={})
| 构造：打开目录路径。 更多...
| DirectorySession (DirectorySession &&h)
| ~DirectorySession ()
| 析构：关闭目录路径。 更多...
| DefGetter (const ynothrow, NativeHandle, NativeHandle, dir) void Rewind() ynothrow
| 复位目录状态。 更多...

## 详细描述

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

自从
  build 411

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

## 构造及析构函数说明

platform::HDirectory::HDirectory | ( | const char * | path | ) |

inlineexplicit

构造：使用目录路径。

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

## 成员函数说明

platform::HDirectory::DefCvt | ( | const ynothrow | ,
|  | bool | ,
|  | p_dirent |
| ) |  | const

explicit

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

自从
  build 319
  build 412

const char * platform::HDirectory::GetName | ( |  | ) | const

间接操作：取节点名称。

返回
  非空结果：子节点不可用时为 "." ，否则为子节点名称。

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

自从
  build 412

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

参考 p_dirent , 以及 CHRLib::strdup().

函数调用图:

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

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

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

注解
  不同系统支持的可能不同，但当前都只实现了区分目录和常规文件。

自从
  build 474

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

参考 platform::Directory, platform::Empty, p_dirent , 以及 platform::Regular.

参考自 YSLib::IO::ListFiles().

这是这个函数的调用关系图:

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

迭代：向后遍历。

异常

  FileOperationFail | 读取目录失败。
  FileOperationFail | 目录没有打开。

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

参考 p_dirent.

platform::HDirectory::PDefHOp | ( | HDirectory & | ,
|  | * |
| ) |  | const

间接操作：取自身引用。

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

自从
  build 412

## 类成员变量说明

::dirent* platform::HDirectory::p_dirent

private

节点信息。

自从
  build 298

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

参考自 GetName(), GetNodeCategory() , 以及 operator++().

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

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