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

Opens a file for a binary read. More...

#include <AUI/IO/AFileInputStream.h>

Public Types

enum class  Seek { BEGIN , CURRENT , END }
 

Public Member Functions

 AFileInputStream (const AString &path)
 
 AFileInputStream (AFileInputStream &&rhs) noexcept
 
AFileInputStreamoperator= (AFileInputStream &&rhs) noexcept
 
FILE * nativeHandle () const
 
void seek (std::streamoff offset, Seek dir) noexcept
 
void seek (std::streampos pos) noexcept
 
std::streampos tell () noexcept
 
std::size_t size () noexcept
 
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 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)
 

Detailed Description

Opens a file for a binary read.

Member Enumeration Documentation

◆ Seek

enum class AFileInputStream::Seek
strong
Enumerator
BEGIN 

Seek relatively to the begin of file

CURRENT 

Seek relatively to the current position

END 

Seek relative to the end of file

Member Function Documentation

◆ read()

size_t AFileInputStream::read ( char * dst,
size_t size )
overridevirtual

Reads up to size bytes from stream. Blocking (waiting for new data) is allowed.

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.


The documentation for this class was generated from the following files:
Inheritance diagram for AFileInputStream:
Collaboration diagram for AFileInputStream: