libcdoc 0.5.0
libcdoc::DataConsumer Struct Referenceabstract

The DataConsumer class. More...

#include <Io.h>

Inherited by libcdoc::MultiDataConsumer, libcdoc::OStreamConsumer, and libcdoc::VectorConsumer.

Public Member Functions

 DataConsumer ()=default
virtual ~DataConsumer ()=default
virtual result_t write (const uint8_t *src, size_t size) noexcept=0
 write write bytes to output object
virtual result_t close () noexcept=0
 informs DataConsumer that the writing is finished
virtual bool isError () noexcept=0
 checks whether DataSource is in error state
virtual std::string getLastErrorStr (result_t code) const
 get textual description of the last error
result_t write (const std::vector< uint8_t > &src) noexcept
 write all bytes in vector
result_t write (const std::string &src) noexcept
 write all bytes in string
result_t writeAll (DataSource &src) noexcept
 write all data from input object
 DataConsumer (const DataConsumer &)=delete
DataConsumeroperator= (const DataConsumer &)=delete

Detailed Description

The DataConsumer class.

An abstact base class for ouput objects

Constructor & Destructor Documentation

◆ DataConsumer() [1/2]

libcdoc::DataConsumer::DataConsumer ( )
default

Referenced by DataConsumer(), and operator=().

◆ ~DataConsumer()

virtual libcdoc::DataConsumer::~DataConsumer ( )
virtualdefault

◆ DataConsumer() [2/2]

libcdoc::DataConsumer::DataConsumer ( const DataConsumer & )
delete

References DataConsumer().

Member Function Documentation

◆ close()

virtual result_t libcdoc::DataConsumer::close ( )
pure virtualnoexcept

informs DataConsumer that the writing is finished

Returns
error code or OK

Implemented in libcdoc::FileListConsumer, libcdoc::OStreamConsumer, and libcdoc::VectorConsumer.

◆ getLastErrorStr()

virtual std::string libcdoc::DataConsumer::getLastErrorStr ( result_t code) const
virtual

get textual description of the last error

Implementation can decide whether to store the actual error string or return the generic text based on error code. It is undefined what will be returned if the last error code is not the one used as the argument.

Parameters
codethe last returned error code
Returns
error text

References getLastErrorStr().

Referenced by getLastErrorStr().

◆ isError()

virtual bool libcdoc::DataConsumer::isError ( )
pure virtualnoexcept

checks whether DataSource is in error state

Returns
true if error state

Implemented in libcdoc::FileListConsumer, libcdoc::OStreamConsumer, and libcdoc::VectorConsumer.

References isError().

Referenced by isError().

◆ operator=()

DataConsumer & libcdoc::DataConsumer::operator= ( const DataConsumer & )
delete

References DataConsumer().

◆ write() [1/3]

result_t libcdoc::DataConsumer::write ( const std::string & src)
inlinenoexcept

write all bytes in string

Parameters
srca string
Returns
string length or error code

References write().

◆ write() [2/3]

result_t libcdoc::DataConsumer::write ( const std::vector< uint8_t > & src)
inlinenoexcept

write all bytes in vector

Parameters
srca vector
Returns
vector size or error code

References write().

◆ write() [3/3]

virtual result_t libcdoc::DataConsumer::write ( const uint8_t * src,
size_t size )
pure virtualnoexcept

write write bytes to output object

The following invariant holds: If there was no error then result == size If there was an error then result < 0

Parameters
srcsource block
sizethe number of bytes to write
Returns
size or error code

Implemented in libcdoc::FileListConsumer, libcdoc::OStreamConsumer, and libcdoc::VectorConsumer.

Referenced by write(), and write().

◆ writeAll()

result_t libcdoc::DataConsumer::writeAll ( DataSource & src)
noexcept

write all data from input object

Copies all bytes from input source (until EOF or error) to the consumer. If error occurs while reading source, the source objects' error code is returned.

Parameters
srcthe input DataSource
Returns
the number of bytes copied or error

The documentation for this struct was generated from the following file:
  • Io.h