e57::Decoder Class Referenceabstract

#include <Decoder.h>

Public Member Functions

unsigned bytestreamNumber () const
 
 Decoder ()=delete
 
virtual void destBufferSetNew (std::vector< SourceDestBuffer > &dbufs)=0
 
virtual size_t inputProcess (const char *source, const size_t count)=0
 
virtual void stateReset ()=0
 
virtual uint64_t totalRecordsCompleted ()=0
 
virtual ~Decoder ()=default
 

Static Public Member Functions

static std::shared_ptr< DecoderDecoderFactory (unsigned bytestreamNumber, const CompressedVectorNodeImpl *cVector, std::vector< SourceDestBuffer > &dbufs, const ustring &codecPath)
 

Protected Member Functions

 Decoder (unsigned bytestreamNumber)
 

Protected Attributes

unsigned int bytestreamNumber_
 

Constructor & Destructor Documentation

◆ Decoder() [1/2]

e57::Decoder::Decoder ( )
delete

◆ ~Decoder()

virtual e57::Decoder::~Decoder ( )
virtualdefault

◆ Decoder() [2/2]

Decoder::Decoder ( unsigned  bytestreamNumber)
protected

Member Function Documentation

◆ bytestreamNumber()

unsigned e57::Decoder::bytestreamNumber ( ) const

References bytestreamNumber_.

Referenced by DecoderFactory().

◆ DecoderFactory()

std::shared_ptr< Decoder > Decoder::DecoderFactory ( unsigned  bytestreamNumber,
const CompressedVectorNodeImpl cVector,
std::vector< SourceDestBuffer > &  dbufs,
const ustring codecPath 
)
static

!! verify single dbuf

Get node we are going to decode from the CompressedVector's prototype

Get pointer to parent ImageFileImpl, to call bitsNeeded()

!! need to pick smarter channel buffer sizes, here and elsewhere Constuct Integer decoder with appropriate register size, based on number of bits stored.

Get pointer to parent ImageFileImpl, to call bitsNeeded()

!! need to pick smarter channel buffer sizes, here and elsewhere Construct ScaledInteger dencoder with appropriate register size, based on number of bits stored.

Parameters
cVector!! name ok?

References bytestreamNumber(), e57::CompressedVectorNodeImpl::childCount(), e57::E57_ERROR_BAD_PROTOTYPE, e57::E57_FLOAT, e57::E57_INTEGER, e57::E57_SCALED_INTEGER, e57::E57_STRING, e57::CompressedVectorNodeImpl::getPrototype(), and e57::toString().

Referenced by e57::CompressedVectorReaderImpl::CompressedVectorReaderImpl().

◆ destBufferSetNew()

virtual void e57::Decoder::destBufferSetNew ( std::vector< SourceDestBuffer > &  dbufs)
pure virtual

◆ inputProcess()

virtual size_t e57::Decoder::inputProcess ( const char *  source,
const size_t  count 
)
pure virtual

◆ stateReset()

virtual void e57::Decoder::stateReset ( )
pure virtual

◆ totalRecordsCompleted()

virtual uint64_t e57::Decoder::totalRecordsCompleted ( )
pure virtual

Member Data Documentation

◆ bytestreamNumber_

unsigned int e57::Decoder::bytestreamNumber_
protected

Referenced by bytestreamNumber().


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