AUI Framework  master
Cross-platform base for C++ UI apps
Loading...
Searching...
No Matches
AFileInputStream Class Reference

Opens a file for a binary read.

#include <AUI/IO/AFileInputStream.h>

Public Member Functions#

 AFileInputStream (const AString &path)
 
 AFileInputStream (AFileInputStream &&rhs) noexcept
 
AFileInputStreamoperator= (AFileInputStream &&rhs) noexcept
 
FILE * nativeHandle () const
 
void seek (std::streamoff offset, ASeekDir seekDir) noexcept override
 change reading position, a way of changing depends on seekDir parameter
 
std::streampos tell () noexcept override
 return current reading position
 
bool isEof () override
 returns true if end of stream has been reached
 
std::size_t read (char *dst, size_t size) override
 Reads up to size bytes from stream. Blocking (waiting for new data) is allowed.
 
- Public Member Functions inherited from ISeekableInputStream
size_t fileSize ()
 return size of the stream
 
- Public Member Functions inherited from IInputStream
size_t read (std::span< std::byte > destination)
 Reads up to destination.size() bytes from stream. Blocking (waiting for new data) is allowed.
 
void readExact (char *dst, size_t size)
 Reads exact size bytes from stream. Blocking (waiting for new data) is allowed.
 
template<typename T>
deserialize ()
 
template<typename T>
IInputStreamoperator>> (T &dst)
 
template<typename T>
IInputStreamoperator>> (T &&dst)
 

Member Function Documentation#

◆ isEof()#

bool AFileInputStream::isEof ( )
overridevirtual
Returns
true if end of stream has been reached

Implements ISeekableInputStream.

◆ read()#

std::size_t AFileInputStream::read ( char * dst,
size_t size )
overridevirtual
Sneaky exceptions
An implementation can throw any exception that subclasses AIOException.
Parameters
dstdestination buffer
sizedestination buffer's size. > 0
Returns
number of read bytes (including 0)

Implements IInputStream.

◆ seek()#

void AFileInputStream::seek ( std::streamoff offset,
ASeekDir seekDir )
overridevirtualnoexcept

Implements ISeekableInputStream.

◆ tell()#

std::streampos AFileInputStream::tell ( )
nodiscardoverridevirtualnoexcept
Returns
current reading pos

Implements ISeekableInputStream.