roo_io
API Documentation for roo_io
Loading...
Searching...
No Matches
roo_io::InputStreamReader Class Reference

Buffered typed reader over InputStream. More...

#include <input_stream_reader.h>

Public Member Functions

 InputStreamReader ()
 
 InputStreamReader (InputStreamReader &&other)
 
InputStreamReaderoperator= (InputStreamReader &&other)
 
 InputStreamReader (std::unique_ptr< roo_io::InputStream > is)
 
 InputStreamReader (roo_io::InputStream &is)
 
 ~InputStreamReader ()
 
void reset (std::unique_ptr< roo_io::InputStream > is)
 
void reset (roo_io::InputStream &is)
 
void close ()
 
byte read ()
 
void skip (size_t count)
 
Status status () const
 
uint16_t readU8 ()
 
uint16_t readBeU16 ()
 
uint16_t readLeU16 ()
 
uint32_t readBeU24 ()
 
uint32_t readLeU24 ()
 
uint32_t readBeU32 ()
 
uint32_t readLeU32 ()
 
uint64_t readBeU64 ()
 
uint64_t readLeU64 ()
 
int16_t readS8 ()
 
int16_t readBeS16 ()
 
int16_t readLeS16 ()
 
int32_t readBeS24 ()
 
int32_t readLeS24 ()
 
int32_t readBeS32 ()
 
int32_t readLeS32 ()
 
int64_t readBeS64 ()
 
int64_t readLeS64 ()
 
size_t readByteArray (byte *result, size_t count)
 
size_t readCString (char *buf, size_t capacity=SIZE_MAX)
 
std::string readString (size_t max_size=SIZE_MAX)
 
template<typename T >
T readHostNative (T default_value=T())
 
uint64_t readVarU64 ()
 

Detailed Description

Buffered typed reader over InputStream.

Uses a 64-byte internal buffer to avoid tiny upstream reads.

Construction with unique_ptr transfers ownership; construction with reference does not.

After constructing this reader, access the stream only through this reader to keep buffer state coherent.

Reader closes the stream on destruction or explicit close().

Definition at line 24 of file input_stream_reader.h.

Constructor & Destructor Documentation

◆ InputStreamReader() [1/4]

roo_io::InputStreamReader::InputStreamReader ( )
inline

Definition at line 26 of file input_stream_reader.h.

◆ InputStreamReader() [2/4]

roo_io::InputStreamReader::InputStreamReader ( InputStreamReader &&  other)
inline

Definition at line 28 of file input_stream_reader.h.

◆ InputStreamReader() [3/4]

roo_io::InputStreamReader::InputStreamReader ( std::unique_ptr< roo_io::InputStream is)
inline

Definition at line 48 of file input_stream_reader.h.

◆ InputStreamReader() [4/4]

roo_io::InputStreamReader::InputStreamReader ( roo_io::InputStream is)
inline

Definition at line 51 of file input_stream_reader.h.

◆ ~InputStreamReader()

roo_io::InputStreamReader::~InputStreamReader ( )
inline

Definition at line 54 of file input_stream_reader.h.

References roo_io::InputStream::close().

Member Function Documentation

◆ close()

void roo_io::InputStreamReader::close ( )
inline

◆ operator=()

InputStreamReader & roo_io::InputStreamReader::operator= ( InputStreamReader &&  other)
inline

Definition at line 35 of file input_stream_reader.h.

References close().

◆ read()

byte roo_io::InputStreamReader::read ( )
inline

◆ readBeS16()

int16_t roo_io::InputStreamReader::readBeS16 ( )
inline

Definition at line 134 of file input_stream_reader.h.

References roo_io::ReadBeS16().

◆ readBeS24()

int32_t roo_io::InputStreamReader::readBeS24 ( )
inline

Definition at line 138 of file input_stream_reader.h.

References roo_io::ReadBeS24().

◆ readBeS32()

int32_t roo_io::InputStreamReader::readBeS32 ( )
inline

Definition at line 142 of file input_stream_reader.h.

References roo_io::ReadBeS32().

◆ readBeS64()

int64_t roo_io::InputStreamReader::readBeS64 ( )
inline

Definition at line 146 of file input_stream_reader.h.

References roo_io::ReadBeS64().

◆ readBeU16()

uint16_t roo_io::InputStreamReader::readBeU16 ( )
inline

Definition at line 116 of file input_stream_reader.h.

References roo_io::ReadBeU16().

◆ readBeU24()

uint32_t roo_io::InputStreamReader::readBeU24 ( )
inline

Definition at line 120 of file input_stream_reader.h.

References roo_io::ReadBeU24().

◆ readBeU32()

uint32_t roo_io::InputStreamReader::readBeU32 ( )
inline

Definition at line 124 of file input_stream_reader.h.

References roo_io::ReadBeU32().

◆ readBeU64()

uint64_t roo_io::InputStreamReader::readBeU64 ( )
inline

Definition at line 128 of file input_stream_reader.h.

References roo_io::ReadBeU64().

◆ readByteArray()

size_t roo_io::InputStreamReader::readByteArray ( byte result,
size_t  count 
)
inline

Definition at line 160 of file input_stream_reader.h.

References roo_io::count, and roo_io::ReadByteArray().

◆ readCString()

size_t roo_io::InputStreamReader::readCString ( char buf,
size_t  capacity = SIZE_MAX 
)
inline

Definition at line 164 of file input_stream_reader.h.

References roo_io::ReadCString().

◆ readHostNative()

template<typename T >
T roo_io::InputStreamReader::readHostNative ( T  default_value = T())
inline

Definition at line 173 of file input_stream_reader.h.

◆ readLeS16()

int16_t roo_io::InputStreamReader::readLeS16 ( )
inline

Definition at line 136 of file input_stream_reader.h.

References roo_io::ReadLeS16().

◆ readLeS24()

int32_t roo_io::InputStreamReader::readLeS24 ( )
inline

Definition at line 140 of file input_stream_reader.h.

References roo_io::ReadLeS24().

◆ readLeS32()

int32_t roo_io::InputStreamReader::readLeS32 ( )
inline

Definition at line 144 of file input_stream_reader.h.

References roo_io::ReadLeS32().

◆ readLeS64()

int64_t roo_io::InputStreamReader::readLeS64 ( )
inline

Definition at line 148 of file input_stream_reader.h.

References roo_io::ReadLeS64().

◆ readLeU16()

uint16_t roo_io::InputStreamReader::readLeU16 ( )
inline

Definition at line 118 of file input_stream_reader.h.

References roo_io::ReadLeU16().

◆ readLeU24()

uint32_t roo_io::InputStreamReader::readLeU24 ( )
inline

Definition at line 122 of file input_stream_reader.h.

References roo_io::ReadLeU24().

◆ readLeU32()

uint32_t roo_io::InputStreamReader::readLeU32 ( )
inline

Definition at line 126 of file input_stream_reader.h.

References roo_io::ReadLeU32().

◆ readLeU64()

uint64_t roo_io::InputStreamReader::readLeU64 ( )
inline

Definition at line 130 of file input_stream_reader.h.

References roo_io::ReadLeU64().

◆ readS8()

int16_t roo_io::InputStreamReader::readS8 ( )
inline

Definition at line 132 of file input_stream_reader.h.

References roo_io::ReadS8().

◆ readString()

std::string roo_io::InputStreamReader::readString ( size_t  max_size = SIZE_MAX)
inline

Definition at line 168 of file input_stream_reader.h.

References roo_io::ReadString().

◆ readU8()

uint16_t roo_io::InputStreamReader::readU8 ( )
inline

Definition at line 114 of file input_stream_reader.h.

References roo_io::ReadU8().

◆ readVarU64()

uint64_t roo_io::InputStreamReader::readVarU64 ( )
inline

Definition at line 177 of file input_stream_reader.h.

References roo_io::ReadVarU64().

◆ reset() [1/2]

void roo_io::InputStreamReader::reset ( roo_io::InputStream is)
inline

◆ reset() [2/2]

void roo_io::InputStreamReader::reset ( std::unique_ptr< roo_io::InputStream is)
inline

◆ skip()

void roo_io::InputStreamReader::skip ( size_t  count)
inline

◆ status()

Status roo_io::InputStreamReader::status ( ) const
inline

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