libcdoc 0.1.8
libcdoc::OStreamConsumer Struct Reference

#include <Io.h>

Inherits libcdoc::DataConsumer.

Public Member Functions

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

Static Public Attributes

static constexpr int STREAM_ERROR = -500
 

Protected Attributes

std::ostream * _ofs
 
bool _owned
 

Constructor & Destructor Documentation

◆ OStreamConsumer() [1/2]

libcdoc::OStreamConsumer::OStreamConsumer ( std::ostream *  ofs,
bool  take_ownership = false 
)
inline

◆ OStreamConsumer() [2/2]

libcdoc::OStreamConsumer::OStreamConsumer ( const std::string &  path)

◆ ~OStreamConsumer()

libcdoc::OStreamConsumer::~OStreamConsumer ( )
inline

Member Function Documentation

◆ close()

result_t libcdoc::OStreamConsumer::close ( )
inlinevirtual

informs DataConsumer that the writing is finished

Returns
error code or OK

Implements libcdoc::DataConsumer.

References libcdoc::OK, and libcdoc::OUTPUT_STREAM_ERROR.

◆ isError()

bool libcdoc::OStreamConsumer::isError ( )
inlinevirtual

checks whether DataSource is in error state

Returns
true if error state

Implements libcdoc::DataConsumer.

◆ write()

result_t libcdoc::OStreamConsumer::write ( const uint8_t *  src,
size_t  size 
)
inlinevirtual

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

Implements libcdoc::DataConsumer.

References libcdoc::OUTPUT_STREAM_ERROR.

Member Data Documentation

◆ _ofs

std::ostream* libcdoc::OStreamConsumer::_ofs
protected

◆ _owned

bool libcdoc::OStreamConsumer::_owned
protected

◆ STREAM_ERROR

constexpr int libcdoc::OStreamConsumer::STREAM_ERROR = -500
staticconstexpr

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