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
 
RVNGInputStream * getSubStreamById (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

◆ getSubStreamById()

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

◆ getSubStreamByName()

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

◆ isEnd()

bool libebook::EBOOKStreamView::isEnd ( )
override

◆ isStructured()

bool libebook::EBOOKStreamView::isStructured ( )
override

◆ operator=()

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

◆ read()

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

◆ seek()

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

◆ subStreamCount()

unsigned libebook::EBOOKStreamView::subStreamCount ( )
override

◆ subStreamName()

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

◆ tell()

long libebook::EBOOKStreamView::tell ( )
override

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.9.5