oeifstream

class oeifstream : public oeistream

This class represents oeifstream.

Implements an input stream capable of reading from a specified file or from any generic data source with an associated file descriptor.

The following methods are publicly inherited from oeistream:

operator>>

gettoken

skipbyte

close

open

skipline

get

peekbyte

getbyte

read

getline

skip

The following methods are publicly inherited from oestream:

operator bool

rewind

tell

eof

seek

length

size

Constructors

oeifstream()
oeifstream(int ifd)
oeifstream(const char *filename)
oeifstream(const std::string &filename)

Creates a new oeifstream. If a valid file descriptor (‘ifd’) is passed to the constructor, the stream will use the associated data source for input. Otherwise, the constructors expect the name of an existing file from which to read. If no parameter is passed to the constructor, the stream can later be opened using the open command defined in oeistream or the oeifstream.openfd command defined in this class.

fd

int fd() const

Returns the system dependent file descriptor associated with the stream’s data source.

openfd

bool openfd(int ifd, bool closefd)

Sets the data source of the stream to the specified file descriptor ‘ifd’. If ‘closefd’ is false, the underlying data source is not closed before changing to the new data source.

pread

oesize_t pread(char *buffer, oesize_t len, oefpos_t offset) const

Reads ‘len’ bytes into ‘buffer’ at the specified ‘offset’ in the file. Returns the number of bytes actually read. This method allows multiple threads to safely read from a single file descriptor.

Warning

It is undefined behavior to mix calls to ‘pread’ other oeistream read method calls on the same object.