YSTest: ystdex::ifile_iterator类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

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

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

`#include <cstdio.h>`

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

## Public 类型

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

## 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)

## 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 第 138 行定义.

## 成员类型定义说明

## ◆ char_type

using ystdex::ifile_iterator::char_type = byte

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

## ◆ difference_type

using ystdex::ifile_iterator::difference_type = ptrdiff_t

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

## ◆ int_type

using ystdex::ifile_iterator::int_type = int

自从
  build 607

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

## ◆ iterator_category

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

自从
  build 676

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

## ◆ pointer

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

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

## ◆ reference

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

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

## ◆ value_type

using ystdex::ifile_iterator::value_type = byte

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

## 构造及析构函数说明

## ◆ ifile_iterator() [1/3]

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

inline

无参数构造。

后置条件
  `!stream` 。

构造空流迭代器。

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

## ◆ ifile_iterator() [2/3]

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

inlineexplicit

构造：使用流指针。

前置条件
  断言： `ptr` 。

后置条件
  `stream == ptr` 。

自从
  build 458

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

引用了 yconstraint.

## ◆ ifile_iterator() [3/3]

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

inlinedefault

复制构造：默认实现。

## ◆ ~ifile_iterator()

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

default

## 成员函数说明

## ◆ get_stream()

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

inline

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

## ◆ operator*()

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

inline

自从
  build 461

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

## ◆ operator++()

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

前置自增。

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

返回
  自身引用。

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

使用 std::fgetc 读字符。

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

引用了 stream, value , 以及 yassume.

## ◆ operator=()

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

default

自从
  build 600

## ◆ sputbackc() [1/2]

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

inline

向流中写回字符。

自从
  build 607

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

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

引用了 CHRLib::c , 以及 yconstraint.

## ◆ sputbackc() [2/2]

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

inline

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

后置条件
  `stream == s` 。

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

引用了 CHRLib::c, CHRLib::s , 以及 yconstraint.

## ◆ sungetc() [1/2]

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

inline

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

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

## ◆ sungetc() [2/2]

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

inline

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

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

引用了 CHRLib::s.

## 友元及相关函数文档

## ◆ operator==

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

friend

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

## 类成员变量说明

## ◆ stream

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

private

流指针。

自从
  build 458

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

被这些函数引用 operator++().

## ◆ value

char_type ystdex::ifile_iterator::value

private

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

被这些函数引用 operator++().

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

- ystdex/cstdio.h
- cstdio.cpp