IODA Bundle
odc::core::DataStreamCodec< ByteOrder > Class Template Reference

#include <Codec.h>

Inheritance diagram for odc::core::DataStreamCodec< ByteOrder >:
[legend]
Collaboration diagram for odc::core::DataStreamCodec< ByteOrder >:
[legend]

Public Member Functions

 DataStreamCodec (const std::string &name, api::ColumnType type)
 
void setDataStream (DataStream< ByteOrder > &ds) override
 
void clearDataStream () override
 
void setDataStream (GeneralDataStream &ds)
 
virtual void setDataStream (DataStream< SameByteOrder > &ds)
 
virtual void setDataStream (DataStream< OtherByteOrder > &ds)
 
- Public Member Functions inherited from odc::core::Codec
 Codec (const std::string &name, api::ColumnType type)
 
virtual ~Codec ()
 
virtual std::unique_ptr< Codecclone ()
 
const std::string & name () const
 
char * encode (char *p, const double &d)
 
virtual unsigned char * encode (unsigned char *p, const double &d)=0
 
virtual void decode (double *out)=0
 
virtual void skip ()=0
 
void setDataStream (GeneralDataStream &ds)
 
virtual void setDataStream (DataStream< SameByteOrder > &ds)
 
virtual void setDataStream (DataStream< OtherByteOrder > &ds)
 
void load (GeneralDataStream &ds)
 
virtual void load (DataStream< SameByteOrder > &ds)
 
virtual void load (DataStream< OtherByteOrder > &ds)
 
void save (GeneralDataStream &ds)
 
virtual void save (DataStream< SameByteOrder > &ds)
 
virtual void save (DataStream< OtherByteOrder > &ds)
 
void resetStats ()
 
virtual void gatherStats (const double &v)
 
void hasMissing (bool h)
 
int32_t hasMissing () const
 
void min (double m)
 
double min () const
 
void max (double m)
 
double max () const
 
void missingValue (double v)
 
double missingValue () const
 
virtual size_t numStrings () const
 
virtual void copyStrings (Codec &rhs)
 
virtual size_t dataSizeDoubles () const
 
virtual void dataSizeDoubles (size_t count)
 

Protected Member Functions

void load (DataStream< ByteOrder > &ds) override
 
void save (DataStream< ByteOrder > &ds) override
 
DataStream< ByteOrder > & ds ()
 
void load (GeneralDataStream &ds)
 
virtual void load (DataStream< SameByteOrder > &ds)
 
virtual void load (DataStream< OtherByteOrder > &ds)
 
void save (GeneralDataStream &ds)
 
virtual void save (DataStream< SameByteOrder > &ds)
 
virtual void save (DataStream< OtherByteOrder > &ds)
 

Protected Attributes

DataStream< ByteOrder > * ds_
 
- Protected Attributes inherited from odc::core::Codec
std::string name_
 
int32_t hasMissing_
 
double missingValue_
 
double min_
 
double max_
 
api::ColumnType type_
 

Detailed Description

template<typename ByteOrder>
class odc::core::DataStreamCodec< ByteOrder >

We need somewhere to distinguish the behaviour for SameByteOrder vs OtherByteOrder. That somewhere is here.

Definition at line 121 of file Codec.h.

Constructor & Destructor Documentation

◆ DataStreamCodec()

template<typename ByteOrder >
odc::core::DataStreamCodec< ByteOrder >::DataStreamCodec ( const std::string &  name,
api::ColumnType  type 
)
inline

Definition at line 125 of file Codec.h.

Member Function Documentation

◆ clearDataStream()

template<typename ByteOrder >
void odc::core::DataStreamCodec< ByteOrder >::clearDataStream ( )
inlineoverridevirtual

Implements odc::core::Codec.

Reimplemented in odc::codec::IntStringCodecBase< ByteOrder, CodecInt8< ByteOrder, int64_t > >, and odc::codec::IntStringCodecBase< ByteOrder, CodecInt16< ByteOrder, int64_t > >.

Definition at line 131 of file Codec.h.

Here is the caller graph for this function:

◆ ds()

template<typename ByteOrder >
DataStream<ByteOrder>& odc::core::DataStreamCodec< ByteOrder >::ds ( )
inlineprotected

Definition at line 157 of file Codec.h.

Here is the caller graph for this function:

◆ load() [1/4]

template<typename ByteOrder >
void odc::core::DataStreamCodec< ByteOrder >::load ( DataStream< ByteOrder > &  ds)
inlineoverrideprotected

Definition at line 136 of file Codec.h.

Here is the call graph for this function:

◆ load() [2/4]

template<typename ByteOrder >
void odc::core::Codec::load
protected

Definition at line 54 of file Codec.cc.

◆ load() [3/4]

template<typename ByteOrder >
void odc::core::Codec::load
protected

Definition at line 53 of file Codec.cc.

◆ load() [4/4]

template<typename ByteOrder >
void odc::core::Codec::load
protected

Definition at line 52 of file Codec.cc.

Here is the caller graph for this function:

◆ save() [1/4]

template<typename ByteOrder >
void odc::core::DataStreamCodec< ByteOrder >::save ( DataStream< ByteOrder > &  ds)
inlineoverrideprotected

Definition at line 145 of file Codec.h.

Here is the call graph for this function:

◆ save() [2/4]

template<typename ByteOrder >
void odc::core::Codec::save
protected

Definition at line 57 of file Codec.cc.

◆ save() [3/4]

template<typename ByteOrder >
void odc::core::Codec::save
protected

Definition at line 56 of file Codec.cc.

◆ save() [4/4]

template<typename ByteOrder >
void odc::core::Codec::save
protected

Definition at line 55 of file Codec.cc.

Here is the caller graph for this function:

◆ setDataStream() [1/4]

template<typename ByteOrder >
void odc::core::DataStreamCodec< ByteOrder >::setDataStream ( DataStream< ByteOrder > &  ds)
inlineoverride

Definition at line 128 of file Codec.h.

Here is the call graph for this function:

◆ setDataStream() [2/4]

template<typename ByteOrder >
void odc::core::Codec::setDataStream

Definition at line 49 of file Codec.cc.

◆ setDataStream() [3/4]

template<typename ByteOrder >
void odc::core::Codec::setDataStream

Definition at line 48 of file Codec.cc.

◆ setDataStream() [4/4]

template<typename ByteOrder >
void odc::core::Codec::setDataStream

Definition at line 47 of file Codec.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ ds_

template<typename ByteOrder >
DataStream<ByteOrder>* odc::core::DataStreamCodec< ByteOrder >::ds_
protected

Definition at line 158 of file Codec.h.


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