YSTest: ystdex::ifile_iterator类 参考

YSTest PreAlpha_b800_20170810 The YSLib Test Project

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

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

Public 类型 | Public 成员函数 | Protected 类型 | Private 属性 | 友元 | 所有成员列表
ystdex::ifile_iterator类 参考

基于 ISO C 标准库的流只读迭代器。 更多...

`#include <cstdio.h>`

类 ystdex::ifile_iterator 继承关系图:
[图例]
ystdex::ifile_iterator 的协作图:
[图例]

## Public 类型

using | char_type = byte
using | int_type = int
using | iterator_category = std::input_iterator_tag
using | value_type = byte
using | difference_type = ptrdiff_t
using | pointer = const byte *
using | reference = const byte &

## Public 成员函数

| ifile_iterator ()
| 无参数构造。 更多...
| ifile_iterator (std::FILE *ptr)
| 构造：使用流指针。 更多...
| ifile_iterator (const ifile_iterator &)=default
| 复制构造：默认实现。 更多...
| ~ifile_iterator ()=default
ifile_iterator & | operator= (const ifile_iterator &)=default
reference | operator* () const
ifile_iterator & | operator++ ()
| 前置自增。 更多...
std::FILE * | get_stream () const
int_type | sputbackc (char_type c)
| 向流中写回字符。 更多...
int_type | sputbackc (char_type c, std::FILE *s)
int_type | sungetc ()
int_type | sungetc (std::FILE *s)

## Protected 类型

using | traits_type = std::iterator< std::input_iterator_tag, byte, ptrdiff_t, const byte *, const byte & >

## Private 属性

std::FILE * | stream {}
| 流指针。 更多...
char_type | value

## 友元

bool | operator== (const ifile_iterator &x, const ifile_iterator &y)
bool | is_undereferenceable (const ifile_iterator &i)

## 详细描述

基于 ISO C 标准库的流只读迭代器。

自从
  build 245

在文件 ystdex/cstdio.h 第 114 行定义.

## 成员类型定义说明

using ystdex::ifile_iterator::char_type = byte

在文件 ystdex/cstdio.h 第 130 行定义.

using ystdex::ifile_iterator::difference_type = ptrdiff_t

在文件 ystdex/cstdio.h 第 126 行定义.

using ystdex::ifile_iterator::int_type = int

自从
  build 607

在文件 ystdex/cstdio.h 第 132 行定义.

using ystdex::ifile_iterator::iterator_category = std::input_iterator_tag

自从
  build 676

在文件 ystdex/cstdio.h 第 124 行定义.

using ystdex::ifile_iterator::pointer = const byte*

在文件 ystdex/cstdio.h 第 127 行定义.

using ystdex::ifile_iterator::reference = const byte&

在文件 ystdex/cstdio.h 第 128 行定义.

using ystdex::ifile_iterator::traits_type = std::iterator<std::input_iterator_tag, byte, ptrdiff_t, const byte*, const byte&>

protected

在文件 ystdex/cstdio.h 第 119 行定义.

using ystdex::ifile_iterator::value_type = byte

在文件 ystdex/cstdio.h 第 125 行定义.

## 构造及析构函数说明

ystdex::ifile_iterator::ifile_iterator | ( |  | ) |

inline

无参数构造。

后置条件
  `!stream` 。

构造空流迭代器。

在文件 ystdex/cstdio.h 第 150 行定义.

ystdex::ifile_iterator::ifile_iterator | ( | std::FILE * | ptr | ) |

inlineexplicit

构造：使用流指针。

前置条件
  断言： `ptr` 。

后置条件
  `stream == ptr` 。

自从
  build 458

在文件 ystdex/cstdio.h 第 160 行定义.

参考 yconstraint.

ystdex::ifile_iterator::ifile_iterator | ( | const ifile_iterator & |  | ) |

inlinedefault

复制构造：默认实现。

ystdex::ifile_iterator::~ifile_iterator | ( |  | ) |

default

## 成员函数说明

std::FILE* ystdex::ifile_iterator::get_stream | ( |  | ) | const

inline

在文件 ystdex/cstdio.h 第 202 行定义.

reference ystdex::ifile_iterator::operator* | ( |  | ) | const

inline

自从
  build 461

在文件 ystdex/cstdio.h 第 179 行定义.

ifile_iterator & ystdex::ifile_iterator::operator++ | ( |  | ) |

前置自增。

前置条件
  断言：流指针非空。

返回
  自身引用。

注解
  当读到 EOF 时置流指针为空指针。

使用 std::fgetc 读字符。

在文件 cstdio.cpp 第 158 行定义.

参考 stream, value, yassume , 以及 YB_UNLIKELY.

ifile_iterator& ystdex::ifile_iterator::operator= | ( | const ifile_iterator & |  | ) |

default

自从
  build 600

int_type ystdex::ifile_iterator::sputbackc | ( | char_type | c | ) |

inline

向流中写回字符。

自从
  build 607

前置条件
  断言： `!stream` 。

在文件 ystdex/cstdio.h 第 224 行定义.

参考 yconstraint.

int_type ystdex::ifile_iterator::sputbackc | ( | char_type | c,
|  | std::FILE * | s
| ) |  |

inline

前置条件
  断言： `!stream || steram == s` 。

后置条件
  `stream == s` 。

在文件 ystdex/cstdio.h 第 234 行定义.

参考 CHRLib::s , 以及 yconstraint.

int_type ystdex::ifile_iterator::sungetc | ( |  | ) |

inline

前置条件
  间接断言： `!stream` 。

在文件 ystdex/cstdio.h 第 243 行定义.

参考自 CHRLib::MBCToUC().

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

int_type ystdex::ifile_iterator::sungetc | ( | std::FILE * | s | ) |

inline

前置条件
  间接断言： `!stream || steram == s` 。

在文件 ystdex/cstdio.h 第 249 行定义.

## 友元及相关函数文档

bool operator== | ( | const ifile_iterator & | x,
|  | const ifile_iterator & | y
| ) |  |

friend

在文件 ystdex/cstdio.h 第 196 行定义.

## 类成员变量说明

std::FILE* ystdex::ifile_iterator::stream {}

private

流指针。

自从
  build 458

在文件 ystdex/cstdio.h 第 139 行定义.

参考自 operator++().

char_type ystdex::ifile_iterator::value

private

在文件 ystdex/cstdio.h 第 140 行定义.

参考自 operator++().

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

- ystdex/cstdio.h
- cstdio.cpp