Helios++
Helios software for LiDAR simulations
helios::filems::BufferedLineFileReader Class Reference
Inheritance diagram for helios::filems::BufferedLineFileReader:
Collaboration diagram for helios::filems::BufferedLineFileReader:

Public Member Functions

 BufferedLineFileReader (string const &path, std::ios_base::openmode openMode=std::ios_base::in, long const maxCharsPerLine=8192, size_t const bufferSize=100000)
 Default constructor for buffered line file reader.
 
virtual size_t getBufferSize ()
 Obtain the buffer size for the buffered line file reader. More...
 
virtual void setBufferSize (size_t const bufferSize)
 Get the buffer size for the buffered line file reader. More...
 
- Public Member Functions inherited from helios::filems::LineFileReader
 LineFileReader (string const &path, std::ios_base::openmode openMode=std::ios_base::in, long const maxCharsPerLine=8192, bool const constructStrategy=true)
 Default constructor for line file reader. More...
 
virtual long getMaxCharsPerLine ()
 Obtain the maximum number of characters per line. More...
 
virtual void setMaxCharsPerLine (long const maxCharsPerLine)
 Set the maximum number of characters per line and update strategy accordingly. More...
 
- Public Member Functions inherited from helios::filems::SimpleFileReader< string >
 SimpleFileReader (string const &path, ios_base::openmode openMode=ios_base::in)
 Default constructor for simple file reader. More...
 
string read () override
 Read from file simply by applying the reading strategy. Therefore, there is no concurrency handling mechanism and usage of simple file reader is not thread safe. More...
 
void setPath (string const &path) override
 Set the path to the file to be read, also opening the input stream for the new file and updating the strategy. It assures the previous input file stream is closed before opening the new one. More...
 
- Public Member Functions inherited from helios::filems::FileReader< ReadType >
 FileReader (string const &path)
 Default constructor for file reader. More...
 
virtual string getPath () const
 Obtain the path to the file to be read. More...
 

Protected Member Functions

void makeStrategy () override
 Build a buffered line reading strategy for the buffered line file reader. More...
 
virtual void makeBufferedStrategy ()
 Define the building of the buffered reading strategy itself. More...
 
- Protected Member Functions inherited from helios::filems::LineFileReader
void makeStrategy () override
 Build a line reading strategy for the line file reader. More...
 

Protected Attributes

LineReadingStrategy lrs
 The line reading strategy to be used for each single reading operation. More...
 
size_t bufferSize
 The buffer size for the buffered strategy.
 
long maxCharsPerLine
 The maximum number of characters that a line is expected to have. More...
 
- Protected Attributes inherited from helios::filems::LineFileReader
long maxCharsPerLine
 The maximum number of characters that a line is expected to have. More...
 
- Protected Attributes inherited from helios::filems::SimpleFileReader< string >
ifstream ifs
 The input file stream to read from.
 
ios_base::openmode openMode
 The open mode flags for the input file stream. More...
 
- Protected Attributes inherited from helios::filems::FileReader< ReadType >
string path
 Path to the file to be read.
 
shared_ptr< ReadingStrategy< ReadType > > readingStrategy = nullptr
 The reading strategy to be used by the file reader. More...
 

Member Function Documentation

◆ getBufferSize()

virtual size_t helios::filems::BufferedLineFileReader::getBufferSize ( )
inlinevirtual

Obtain the buffer size for the buffered line file reader.

Returns
The buffer size of the buffered line file reader
See also
BufferedLineFileReader::bufferSize
BufferedLineFileReader::setBufferSize

◆ makeBufferedStrategy()

virtual void helios::filems::BufferedLineFileReader::makeBufferedStrategy ( )
inlineprotectedvirtual

Define the building of the buffered reading strategy itself.

See also
BufferedLineFileReader::makeStrategy

◆ makeStrategy()

void helios::filems::BufferedLineFileReader::makeStrategy ( )
inlineoverrideprotectedvirtual

Build a buffered line reading strategy for the buffered line file reader.

See also
LineFileReader::makeStrategy

Implements helios::filems::FileReader< ReadType >.

◆ setBufferSize()

virtual void helios::filems::BufferedLineFileReader::setBufferSize ( size_t const  bufferSize)
inlinevirtual

Get the buffer size for the buffered line file reader.

Parameters
bufferSizeThe new buffer size for the buffered line file reader
See also
BufferedLineFileReader::bufferSize
BufferedLineFileReader::getBufferSize

Member Data Documentation

◆ lrs

LineReadingStrategy helios::filems::BufferedLineFileReader::lrs
protected

The line reading strategy to be used for each single reading operation.

See also
filems::LineReadingStrategy

◆ maxCharsPerLine

long helios::filems::LineFileReader::maxCharsPerLine
protected

The maximum number of characters that a line is expected to have.

If a file having lines of more than maxCharsPerLine characters is read, then problems might arise

See also
filems::LineReadingStrategy::maxCharsPerLine

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