ALib C++ Framework
by
Library Version: 2511 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
alib::files::TextFileLineReader< TLocalBufferSize > Struct Template Reference

Description:

template<size_t TLocalBufferSize = 1024>
struct alib::files::TextFileLineReader< TLocalBufferSize >

A rather simple text file line-reader. While this is used with the class TTextFile, it might well be used as a standalone helper, i.e. in cases where the text file is read but does not need to be stored in a vector.

Template Parameters
TLocalBufferSizeThe size of the local buffer. If lines are wider and the local buffer is exceeded, it will be replaced by an heap-allocated buffer, which is then reused for any further line.
Defaults to 1024.

Definition at line 29 of file ALib.Files.TextFile.H.

#include <ALib.Files.TextFile.H>

Public Field Index:

std::ifstream IFStream
 The input stream opened on construction.
NLocalString< TLocalBufferSize > Line
 The line buffer.
alib::IStreamLine ReadOp
std::errc Status

Public Method Index:

 TextFileLineReader (const CString &filePath)
 TextFileLineReader (files::File file)
Substring NextLine ()

Protected Method Index:

void construct (const CString &filePath)

Field Details:

◆ IFStream

template<size_t TLocalBufferSize = 1024>
std::ifstream alib::files::TextFileLineReader< TLocalBufferSize >::IFStream

The input stream opened on construction.

Definition at line 30 of file ALib.Files.TextFile.H.

◆ Line

template<size_t TLocalBufferSize = 1024>
NLocalString<TLocalBufferSize> alib::files::TextFileLineReader< TLocalBufferSize >::Line

The line buffer.

Definition at line 31 of file ALib.Files.TextFile.H.

◆ ReadOp

template<size_t TLocalBufferSize = 1024>
alib::IStreamLine alib::files::TextFileLineReader< TLocalBufferSize >::ReadOp

An AString-appendable object used for reading.

Definition at line 32 of file ALib.Files.TextFile.H.

◆ Status

template<size_t TLocalBufferSize = 1024>
std::errc alib::files::TextFileLineReader< TLocalBufferSize >::Status

Set after construction. If std::errc(0), the filewas correctly opened.

Definition at line 34 of file ALib.Files.TextFile.H.

Constructor(s) / Destructor Details:

◆ TextFileLineReader() [1/2]

template<size_t TLocalBufferSize = 1024>
alib::files::TextFileLineReader< TLocalBufferSize >::TextFileLineReader ( const CString & filePath)
inline

Constructor. Opens the file specified by filePath. On success, the field Status will hold std::errc(0), an error code otherwise.

Parameters
filePathThe path of the text-file to read.

Definition at line 59 of file ALib.Files.TextFile.H.

◆ TextFileLineReader() [2/2]

template<size_t TLocalBufferSize = 1024>
alib::files::TextFileLineReader< TLocalBufferSize >::TextFileLineReader ( files::File file)
inline

Alternative constructor taking a File object instead of a file's path string.

Parameters
fileThe text-file to read.

Definition at line 65 of file ALib.Files.TextFile.H.

Method Details:

◆ construct()

template<size_t TLocalBufferSize = 1024>
void alib::files::TextFileLineReader< TLocalBufferSize >::construct ( const CString & filePath)
inlineprotected

Implementation of the two constructors.

Parameters
filePathThe path of the text-file to read.

Definition at line 40 of file ALib.Files.TextFile.H.

◆ NextLine()

template<size_t TLocalBufferSize = 1024>
Substring alib::files::TextFileLineReader< TLocalBufferSize >::NextLine ( )
inline

Reads the next text-line into the field Line and returns a Substring pointing to it. When the end of the file is reached, the returned object is nulled.Prior to the invocation, method IsEOF may be called to detect the end of the file actively.

Returns
The next line read, or NULL_STRING when all lines were read.

Definition at line 74 of file ALib.Files.TextFile.H.


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