StormByte C++ Library: Buffer module 0.0.9999
StormByte-Buffer is a StormByte library module for handling buffers
Loading...
Searching...
No Matches
Public Member Functions | List of all members
StormByte::Buffer::ExternalBufferReader Class Referencefinal

Implementation of ExternalReader that reads from a ReadOnly buffer. More...

#include <external.hxx>

Inheritance diagram for StormByte::Buffer::ExternalBufferReader:
Inheritance graph
[legend]
Collaboration diagram for StormByte::Buffer::ExternalBufferReader:
Collaboration graph
[legend]

Public Member Functions

 ExternalBufferReader (ReadOnly &buffer) noexcept
 Construct ExternalBufferReader with a ReadOnly buffer.
 
 ExternalBufferReader (const ExternalBufferReader &other)=default
 Copy constructor (deleted).
 
 ExternalBufferReader (ExternalBufferReader &&other) noexcept=default
 Move constructor.
 
 ~ExternalBufferReader () noexcept=default
 Destructor.
 
ExternalBufferReaderoperator= (const ExternalBufferReader &other)=default
 Copy assignment (deleted).
 
ExternalBufferReaderoperator= (ExternalBufferReader &&other) noexcept=default
 Move assignment.
 
PointerType Clone () const noexcept override
 Clone this ExternalBufferReader.
 
PointerType Move () noexcept override
 Move this ExternalBufferReader.
 
bool Read (std::size_t bytes, DataType &out) const noexcept override
 Read data into the provided buffer.
 
bool Read (std::size_t bytes, DataType &out) noexcept override
 Destructively read data into the provided buffer.
 
- Public Member Functions inherited from StormByte::Buffer::ExternalReader
 ExternalReader () noexcept=default
 Construct ExternalReader.
 
 ExternalReader (const ExternalReader &other)=default
 Construct ExternalReader.
 
 ExternalReader (ExternalReader &&other) noexcept=default
 Move constructor.
 
virtual ~ExternalReader () noexcept=default
 Destructor.
 
ExternalReaderoperator= (const ExternalReader &other)=default
 Assignment operator.
 
ExternalReaderoperator= (ExternalReader &&other) noexcept=default
 Move assignment operator.
 

Detailed Description

Implementation of ExternalReader that reads from a ReadOnly buffer.

Constructor & Destructor Documentation

◆ ExternalBufferReader() [1/3]

StormByte::Buffer::ExternalBufferReader::ExternalBufferReader ( ReadOnly buffer)
inlinenoexcept

Construct ExternalBufferReader with a ReadOnly buffer.

Parameters
bufferReadOnly buffer to read from.
Note
The ExternalBufferReader does NOT take ownership of buffer. The caller is responsible for ensuring that buffer outlives this ExternalBufferReader instance. The reader stores a reference wrapper to the provided ReadOnly object.

◆ ExternalBufferReader() [2/3]

StormByte::Buffer::ExternalBufferReader::ExternalBufferReader ( const ExternalBufferReader other)
default

Copy constructor (deleted).

Parameters
otherExternalBufferReader to copy from.

◆ ExternalBufferReader() [3/3]

StormByte::Buffer::ExternalBufferReader::ExternalBufferReader ( ExternalBufferReader &&  other)
defaultnoexcept

Move constructor.

Parameters
otherExternalBufferReader to move from.

Member Function Documentation

◆ Clone()

PointerType StormByte::Buffer::ExternalBufferReader::Clone ( ) const
inlineoverridenoexcept

Clone this ExternalBufferReader.

Returns
Pointer to the cloned ExternalBufferReader.

◆ Move()

PointerType StormByte::Buffer::ExternalBufferReader::Move ( )
inlineoverridenoexcept

Move this ExternalBufferReader.

Returns
Pointer to the moved ExternalBufferReader.

◆ operator=() [1/2]

ExternalBufferReader & StormByte::Buffer::ExternalBufferReader::operator= ( const ExternalBufferReader other)
default

Copy assignment (deleted).

Parameters
otherExternalBufferReader to copy from.
Returns
Reference to this ExternalBufferReader.

◆ operator=() [2/2]

ExternalBufferReader & StormByte::Buffer::ExternalBufferReader::operator= ( ExternalBufferReader &&  other)
defaultnoexcept

Move assignment.

Parameters
otherExternalBufferReader to move from.
Returns
Reference to this ExternalBufferReader.

◆ Read() [1/2]

bool StormByte::Buffer::ExternalBufferReader::Read ( std::size_t  bytes,
DataType &  out 
) const
overridevirtualnoexcept

Read data into the provided buffer.

Parameters
bytesNumber of bytes to read.
outDataType to fill with read data.
Returns
true if data was successfully read, false otherwise.

Implements StormByte::Buffer::ExternalReader.

◆ Read() [2/2]

bool StormByte::Buffer::ExternalBufferReader::Read ( std::size_t  bytes,
DataType &  out 
)
overridevirtualnoexcept

Destructively read data into the provided buffer.

Parameters
bytesNumber of bytes to read.
outDataType to fill with read data.
Returns
true if data was successfully read, false otherwise.

Implements StormByte::Buffer::ExternalReader.


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