39 std::vector<SourceDestBuffer> &dbufs,
const ustring &codecPath );
52 virtual void dump(
int indent = 0, std::ostream &os = std::cout ) = 0;
71 size_t inputProcess(
const char *source,
const size_t availableByteCount )
override;
72 virtual size_t inputProcessAligned(
const char *inbuf,
const size_t firstBit,
const size_t endBit ) = 0;
77 void dump(
int indent = 0, std::ostream &os = std::cout )
override;
81 uint64_t maxRecordCount );
102 uint64_t maxRecordCount );
104 size_t inputProcessAligned(
const char *inbuf,
const size_t firstBit,
const size_t endBit )
override;
107 void dump(
int indent = 0, std::ostream &os = std::cout )
override;
118 size_t inputProcessAligned(
const char *inbuf,
const size_t firstBit,
const size_t endBit )
override;
121 void dump(
int indent = 0, std::ostream &os = std::cout )
override;
137 int64_t maximum,
double scale,
double offset, uint64_t maxRecordCount );
139 size_t inputProcessAligned(
const char *inbuf,
const size_t firstBit,
const size_t endBit )
override;
142 void dump(
int indent = 0, std::ostream &os = std::cout )
override;
158 double scale,
double offset, uint64_t maxRecordCount );
164 size_t inputProcess(
const char *source,
const size_t availableByteCount )
override;
167 void dump(
int indent = 0, std::ostream &os = std::cout )
override;
std::vector< char > inBuffer_
uint64_t totalRecordsCompleted() override
virtual size_t inputProcessAligned(const char *inbuf, const size_t firstBit, const size_t endBit)=0
void stateReset() override
std::shared_ptr< SourceDestBufferImpl > destBuffer_
BitpackDecoder(unsigned bytestreamNumber, SourceDestBuffer &dbuf, unsigned alignmentSize, uint64_t maxRecordCount)
unsigned int inBufferAlignmentSize_
uint64_t currentRecordIndex_
void dump(int indent=0, std::ostream &os=std::cout) override
size_t inputProcess(const char *source, const size_t availableByteCount) override
void destBufferSetNew(std::vector< SourceDestBuffer > &dbufs) override
unsigned int bytesPerWord_
unsigned int bitsPerWord_
void dump(int indent=0, std::ostream &os=std::cout) override
FloatPrecision precision_
BitpackFloatDecoder(unsigned bytestreamNumber, SourceDestBuffer &dbuf, FloatPrecision precision, uint64_t maxRecordCount)
size_t inputProcessAligned(const char *inbuf, const size_t firstBit, const size_t endBit) override
BitpackIntegerDecoder(bool isScaledInteger, unsigned bytestreamNumber, SourceDestBuffer &dbuf, int64_t minimum, int64_t maximum, double scale, double offset, uint64_t maxRecordCount)
size_t inputProcessAligned(const char *inbuf, const size_t firstBit, const size_t endBit) override
void dump(int indent=0, std::ostream &os=std::cout) override
BitpackStringDecoder(unsigned bytestreamNumber, SourceDestBuffer &dbuf, uint64_t maxRecordCount)
size_t inputProcessAligned(const char *inbuf, const size_t firstBit, const size_t endBit) override
void dump(int indent=0, std::ostream &os=std::cout) override
uint64_t nBytesStringRead_
size_t inputProcess(const char *source, const size_t availableByteCount) override
void destBufferSetNew(std::vector< SourceDestBuffer > &dbufs) override
std::shared_ptr< SourceDestBufferImpl > destBuffer_
uint64_t totalRecordsCompleted() override
ConstantIntegerDecoder(bool isScaledInteger, unsigned bytestreamNumber, SourceDestBuffer &dbuf, int64_t minimum, double scale, double offset, uint64_t maxRecordCount)
void stateReset() override
uint64_t currentRecordIndex_
void dump(int indent=0, std::ostream &os=std::cout) override
static std::shared_ptr< Decoder > DecoderFactory(unsigned bytestreamNumber, const CompressedVectorNodeImpl *cVector, std::vector< SourceDestBuffer > &dbufs, const ustring &codecPath)
virtual void stateReset()=0
virtual size_t inputProcess(const char *source, const size_t count)=0
virtual void dump(int indent=0, std::ostream &os=std::cout)=0
unsigned bytestreamNumber() const
virtual ~Decoder()=default
virtual uint64_t totalRecordsCompleted()=0
virtual void destBufferSetNew(std::vector< SourceDestBuffer > &dbufs)=0
unsigned int bytestreamNumber_
FloatPrecision
The IEEE floating point number precisions supported.
@ E57_SINGLE
32 bit IEEE floating point number format
std::string ustring
UTF-8 encodeded Unicode string.