IODA Bundle
odc::core::Column Class Reference

#include <Column.h>

Collaboration diagram for odc::core::Column:
[legend]

Public Member Functions

 Column (MetaData &)
 
 Column (const Column &)
 
Columnoperator= (const Column &)
 
bool operator== (const Column &) const
 return true if names and types are the same; do not compare codecs. More...
 
bool operator!= (const Column &other) const
 
bool equals (const Column &other, bool compareDataSizes=true) const
 
virtual ~Column ()
 
template<typename ByteOrder >
void load (DataStream< ByteOrder > &ds)
 
template<typename ByteOrder >
void save (DataStream< ByteOrder > &ds)
 
Codeccoder () const
 
void coder (std::unique_ptr< Codec > c)
 
size_t dataSizeDoubles () const
 
void dataSizeDoubles (size_t count)
 
void name (const std::string name)
 
const std::string & name () const
 
template<typename ByteOrder >
void type (api::ColumnType t)
 
template<typename ByteOrder >
void resetCodec ()
 
void type (api::ColumnType t)
 
api::ColumnType type () const
 
bool hasInitialisedCoder () const
 
bool isConstant ()
 
void hasMissing (bool h)
 Delegations to Codec: More...
 
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
 
void resetStats ()
 
void bitfieldDef (const eckit::sql::BitfieldDef &b)
 
const eckit::sql::BitfieldDef & bitfieldDef () const
 
virtual void print (std::ostream &s) const
 

Static Public Member Functions

static const char * columnTypeName (api::ColumnType type)
 
static api::ColumnType type (const std::string &)
 

Private Attributes

MetaDataowner_
 
std::string name_
 
int32_t type_
 Note: type_ should be ColumnType, but it is saved on file so must be of a fixed size type. More...
 
std::unique_ptr< Codeccoder_
 
eckit::sql::BitfieldDef bitfieldDef_
 bitfieldDef_ is not empty if type_ == BITFIELD. More...
 

Friends

std::ostream & operator<< (std::ostream &s, const Column &p)
 

Detailed Description

Definition at line 30 of file Column.h.

Constructor & Destructor Documentation

◆ Column() [1/2]

odc::core::Column::Column ( MetaData owner)

Definition at line 24 of file Column.cc.

◆ Column() [2/2]

odc::core::Column::Column ( const Column o)

Definition at line 31 of file Column.cc.

◆ ~Column()

odc::core::Column::~Column ( )
virtual

Definition at line 40 of file Column.cc.

Member Function Documentation

◆ bitfieldDef() [1/2]

const eckit::sql::BitfieldDef& odc::core::Column::bitfieldDef ( ) const
inline

Definition at line 86 of file Column.h.

Here is the caller graph for this function:

◆ bitfieldDef() [2/2]

void odc::core::Column::bitfieldDef ( const eckit::sql::BitfieldDef &  b)
inline

Definition at line 85 of file Column.h.

Here is the caller graph for this function:

◆ coder() [1/2]

Codec& odc::core::Column::coder ( ) const
inline

Definition at line 51 of file Column.h.

Here is the caller graph for this function:

◆ coder() [2/2]

void odc::core::Column::coder ( std::unique_ptr< Codec c)
inline

Definition at line 52 of file Column.h.

◆ columnTypeName()

const char * odc::core::Column::columnTypeName ( api::ColumnType  type)
static

Definition at line 61 of file Column.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dataSizeDoubles() [1/2]

size_t odc::core::Column::dataSizeDoubles ( ) const
inline

Definition at line 54 of file Column.h.

Here is the caller graph for this function:

◆ dataSizeDoubles() [2/2]

void odc::core::Column::dataSizeDoubles ( size_t  count)
inline

Definition at line 55 of file Column.h.

Here is the call graph for this function:

◆ equals()

bool odc::core::Column::equals ( const Column other,
bool  compareDataSizes = true 
) const

Definition at line 104 of file Column.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasInitialisedCoder()

bool odc::core::Column::hasInitialisedCoder ( ) const
inline

Definition at line 66 of file Column.h.

◆ hasMissing() [1/2]

int32_t odc::core::Column::hasMissing ( ) const
inline

Definition at line 72 of file Column.h.

◆ hasMissing() [2/2]

void odc::core::Column::hasMissing ( bool  h)
inline

Delegations to Codec:

Definition at line 71 of file Column.h.

Here is the caller graph for this function:

◆ isConstant()

bool odc::core::Column::isConstant ( )

Definition at line 89 of file Column.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ load()

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

Definition at line 120 of file Column.h.

Here is the call graph for this function:

◆ max() [1/2]

double odc::core::Column::max ( ) const
inline

Definition at line 78 of file Column.h.

◆ max() [2/2]

void odc::core::Column::max ( double  m)
inline

Definition at line 77 of file Column.h.

Here is the caller graph for this function:

◆ min() [1/2]

double odc::core::Column::min ( ) const
inline

Definition at line 75 of file Column.h.

◆ min() [2/2]

void odc::core::Column::min ( double  m)
inline

Definition at line 74 of file Column.h.

Here is the caller graph for this function:

◆ missingValue() [1/2]

double odc::core::Column::missingValue ( ) const
inline

Definition at line 81 of file Column.h.

Here is the caller graph for this function:

◆ missingValue() [2/2]

void odc::core::Column::missingValue ( double  v)
inline

Definition at line 80 of file Column.h.

Here is the caller graph for this function:

◆ name() [1/2]

const std::string& odc::core::Column::name ( ) const
inline

Definition at line 58 of file Column.h.

Here is the caller graph for this function:

◆ name() [2/2]

void odc::core::Column::name ( const std::string  name)
inline

Definition at line 57 of file Column.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator!=()

bool odc::core::Column::operator!= ( const Column other) const
inline

Definition at line 43 of file Column.h.

◆ operator=()

Column & odc::core::Column::operator= ( const Column other)

Definition at line 42 of file Column.cc.

Here is the call graph for this function:

◆ operator==()

bool odc::core::Column::operator== ( const Column other) const

return true if names and types are the same; do not compare codecs.

Definition at line 100 of file Column.cc.

Here is the call graph for this function:

◆ print()

void odc::core::Column::print ( std::ostream &  s) const
virtual

Definition at line 115 of file Column.cc.

Here is the call graph for this function:

◆ resetCodec()

template<typename ByteOrder >
void odc::core::Column::resetCodec

Definition at line 194 of file Column.h.

Here is the call graph for this function:

◆ resetStats()

void odc::core::Column::resetStats ( )
inline

Definition at line 83 of file Column.h.

◆ save()

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

Definition at line 144 of file Column.h.

Here is the call graph for this function:

◆ type() [1/4]

api::ColumnType odc::core::Column::type ( ) const
inline

Definition at line 64 of file Column.h.

Here is the caller graph for this function:

◆ type() [2/4]

template<typename ByteOrder >
void odc::core::Column::type ( api::ColumnType  t)

Definition at line 168 of file Column.h.

Here is the call graph for this function:

◆ type() [3/4]

void odc::core::Column::type ( api::ColumnType  t)
inline

Definition at line 63 of file Column.h.

◆ type() [4/4]

ColumnType odc::core::Column::type ( const std::string &  t)
static

Definition at line 74 of file Column.cc.

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  s,
const Column p 
)
friend

Definition at line 101 of file Column.h.

Member Data Documentation

◆ bitfieldDef_

eckit::sql::BitfieldDef odc::core::Column::bitfieldDef_
private

bitfieldDef_ is not empty if type_ == BITFIELD.

Definition at line 112 of file Column.h.

◆ coder_

std::unique_ptr<Codec> odc::core::Column::coder_
private

Definition at line 110 of file Column.h.

◆ name_

std::string odc::core::Column::name_
private

Definition at line 107 of file Column.h.

◆ owner_

MetaData& odc::core::Column::owner_
private

Definition at line 106 of file Column.h.

◆ type_

int32_t odc::core::Column::type_
private

Note: type_ should be ColumnType, but it is saved on file so must be of a fixed size type.

Definition at line 109 of file Column.h.


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