libebook::EBOOKStreamView Class Reference

A stream representing a view into an another stream. More...

#include <EBOOKStreamView.h>

Inheritance diagram for libebook::EBOOKStreamView:

Public Member Functions

 EBOOKStreamView (librevenge::RVNGInputStream *stream, long begin, long end)
 ~EBOOKStreamView () override
bool isStructured () override
unsigned subStreamCount () override
const char * subStreamName (unsigned id) override
bool existsSubStream (const char *name) override
librevenge::RVNGInputStream * getSubStreamByName (const char *name) override
RVNGInputStreamgetSubStreamById (unsigned id) override
const unsigned char * read (unsigned long numBytes, unsigned long &numBytesRead) override
int seek (long offset, librevenge::RVNG_SEEK_TYPE seekType) override
long tell () override
bool isEnd () override

Private Member Functions

 EBOOKStreamView (const EBOOKStreamView &other)
EBOOKStreamViewoperator= (const EBOOKStreamView &other)

Private Attributes

librevenge::RVNGInputStream *const m_stream
const long m_begin
const long m_end

Detailed Description

A stream representing a view into an another stream.

The purpose of this class is only to simplify reading of chunks of data from the original stream. All reading operations change the original stream. That means that it is not advisable to use the original stream while a view into it is in use too.

Constructor & Destructor Documentation

◆ EBOOKStreamView() [1/2]

libebook::EBOOKStreamView::EBOOKStreamView ( const EBOOKStreamView & other)
private

◆ EBOOKStreamView() [2/2]

libebook::EBOOKStreamView::EBOOKStreamView ( librevenge::RVNGInputStream * stream,
long begin,
long end )

◆ ~EBOOKStreamView()

libebook::EBOOKStreamView::~EBOOKStreamView ( )
override

Member Function Documentation

◆ existsSubStream()

bool libebook::EBOOKStreamView::existsSubStream ( const char * name)
override

Referenced by operator=().

◆ getSubStreamById()

librevenge::RVNGInputStream * libebook::EBOOKStreamView::getSubStreamById ( unsigned id)
override

Referenced by operator=().

◆ getSubStreamByName()

librevenge::RVNGInputStream * libebook::EBOOKStreamView::getSubStreamByName ( const char * name)
override

Referenced by operator=().

◆ isEnd()

bool libebook::EBOOKStreamView::isEnd ( )
override

Referenced by operator=().

◆ isStructured()

bool libebook::EBOOKStreamView::isStructured ( )
override

Referenced by operator=().

◆ operator=()

EBOOKStreamView & libebook::EBOOKStreamView::operator= ( const EBOOKStreamView & other)
private

◆ read()

const unsigned char * libebook::EBOOKStreamView::read ( unsigned long numBytes,
unsigned long & numBytesRead )
override

Referenced by operator=().

◆ seek()

int libebook::EBOOKStreamView::seek ( long offset,
librevenge::RVNG_SEEK_TYPE seekType )
override

Referenced by operator=().

◆ subStreamCount()

unsigned libebook::EBOOKStreamView::subStreamCount ( )
override

Referenced by operator=().

◆ subStreamName()

const char * libebook::EBOOKStreamView::subStreamName ( unsigned id)
override

Referenced by operator=().

◆ tell()

long libebook::EBOOKStreamView::tell ( )
override

Referenced by operator=().

Member Data Documentation

◆ m_begin

const long libebook::EBOOKStreamView::m_begin
private

Referenced by EBOOKStreamView(), read(), seek(), and tell().

◆ m_end

const long libebook::EBOOKStreamView::m_end
private

Referenced by EBOOKStreamView(), isEnd(), read(), and seek().

◆ m_stream

librevenge::RVNGInputStream* const libebook::EBOOKStreamView::m_stream
private

Referenced by EBOOKStreamView(), isEnd(), read(), seek(), and tell().


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

Generated for libe-book by doxygen 1.18.0