Read bytes from a file, usually text.
More...
#include <RawFileReader.hpp>
Read bytes from a file, usually text.
This is basically a simple wrapper around FILE
structures, with correct closing and error checking. Mostly provided because I always forget how to interact with ifstream
objects when I want a sequence of bytes.
◆ RawFileReader() [1/2]
byteme::RawFileReader::RawFileReader |
( |
const char * | path, |
|
|
size_t | buffer_size = 65536 ) |
|
inline |
- Parameters
-
path | Path to the file. |
buffer_size | Size of the buffer to use for reading. |
◆ RawFileReader() [2/2]
byteme::RawFileReader::RawFileReader |
( |
const std::string & | path, |
|
|
size_t | buffer_size = 65536 ) |
|
inline |
- Parameters
-
path | Path to the file. |
buffer_size | Size of the buffer to use for reading. |
◆ available()
size_t byteme::RawFileReader::available |
( |
| ) |
const |
|
inlinevirtual |
This method should only be called after load()
has been called and returns true
. The return value is generally expected to be positive; however, it is possible to return a zero. Note that zero values should not be interpreted as the end of the source, which is strictly only defined by load()
returning false
.
- Returns
- Number of available bytes in
buffer()
.
Implements byteme::Reader.
◆ buffer()
const unsigned char * byteme::RawFileReader::buffer |
( |
| ) |
const |
|
inlinevirtual |
This method should only be called after load()
has been called and returns true
.
- Returns
- Pointer to the start of an array containing the available bytes. The number of available bytes is provided in
available()
.
Implements byteme::Reader.
◆ load()
bool byteme::RawFileReader::load |
( |
| ) |
|
|
inlinevirtual |
Read the next chunk of bytes from the input source. To read the entire source, this function should be called repeatedly until false
is returned.
- Returns
- Boolean indicating whether the read was successful. If
false
, it can be assumed that the end of the source was reached.
Implements byteme::Reader.
The documentation for this class was generated from the following file: