Console Library 8.0.0
A header-only library that makes C++ simple
Loading...
Searching...
No Matches
console::gen::FileLines Class Reference

文件行生成器,逐行读取文本文件。 More...

#include <gextra.h>

Inheritance diagram for console::gen::FileLines:
console::Generator< FileLines, std::string >

Public Member Functions

 FileLines (const std::string &filename)
 构造函数,打开文件并读取第一行。
bool done ()
 检查生成器是否已完成。
std::string current ()
 获取当前行内容。
void advance ()
 向前移动一步,读取下一行。
Public Member Functions inherited from console::Generator< FileLines, std::string >
iterator iter () const
 获取生成器的迭代器对象。
iterator begin () const
 获取开始迭代器。
iterator end () const
 获取结束迭代器。
bool done ()
 检查生成器是否已完成。
std::string current ()
 获取当前值。
void advance ()
 推进生成器到下一个位置。

Private Attributes

std::shared_ptr< std::ifstream > file_
std::string current_line_

Additional Inherited Members

Public Types inherited from console::Generator< FileLines, std::string >
typedef std::string value_type
 生成器产生的值类型。

Detailed Description

文件行生成器,逐行读取文本文件。

Constructor & Destructor Documentation

◆ FileLines()

console::gen::FileLines::FileLines ( const std::string & filename)
inlineexplicit

构造函数,打开文件并读取第一行。

Parameters
filename文件名。
Exceptions
FileError如果文件无法打开。

Member Function Documentation

◆ advance()

void console::gen::FileLines::advance ( )
inline

向前移动一步,读取下一行。

◆ current()

std::string console::gen::FileLines::current ( )
inline

获取当前行内容。

Returns
当前行的字符串。

◆ done()

bool console::gen::FileLines::done ( )
inline

检查生成器是否已完成。

Returns
如果已到达文件末尾则返回true。

Member Data Documentation

◆ current_line_

std::string console::gen::FileLines::current_line_
private

◆ file_

std::shared_ptr<std::ifstream> console::gen::FileLines::file_
private

The documentation for this class was generated from the following file: