NumeRe v1.1.4
NumeRe: Framework für Numerische Rechnungen
TableColumn Struct Referenceabstract

Abstract table column, which allows using it to compose the data table in each Memory instance. More...

#include <tablecolumn.hpp>

Inheritance diagram for TableColumn:
Collaboration diagram for TableColumn:

Public Types

enum  ColumnType {
  TYPE_NONE , VALUELIKE , TYPE_VALUE , TYPE_DATETIME ,
  TYPE_LOGICAL , TYPE_CATEGORICAL , STRINGLIKE , TYPE_STRING ,
  TYPE_MIXED
}
 

Public Member Functions

 TableColumn ()
 
virtual ~TableColumn ()
 
std::vector< std::string > getValueAsString (const VectorIndex &idx) const
 Return the table column's contents as a vector of strings. More...
 
std::vector< std::string > getValueAsInternalString (const VectorIndex &idx) const
 Returns the table column's contents as a vector containing internal strings. More...
 
std::vector< mu::value_typegetValue (const VectorIndex &idx) const
 Return the table column's contents as a vector of numerical types. More...
 
virtual std::string getValueAsString (size_t elem) const =0
 
virtual std::string getValueAsInternalString (size_t elem) const =0
 
virtual std::string getValueAsParserString (size_t elem) const =0
 
virtual std::string getValueAsStringLiteral (size_t elem) const =0
 
virtual mu::value_type getValue (size_t elem) const =0
 
void setValue (const VectorIndex &idx, const std::vector< std::string > &vValue)
 Sets a string vector at the specified indices. More...
 
void setValue (const VectorIndex &idx, const std::vector< mu::value_type > &vValue)
 Sets a numerical vector at the specified indices. More...
 
void setValue (const VectorIndex &idx, mu::value_type *_dData, unsigned int _nNum)
 Sets a plain numerical array at the specified indices. More...
 
virtual void setValue (size_t elem, const std::string &sValue)=0
 
virtual void setValue (size_t elem, const mu::value_type &vValue)=0
 
TableColumncopy () const
 Simplification wrapper around the indiced copy method to copy the whole column. More...
 
virtual TableColumncopy (const VectorIndex &idx) const =0
 
virtual void assign (const TableColumn *column)=0
 
virtual void insert (const VectorIndex &idx, const TableColumn *column)=0
 
virtual void deleteElements (const VectorIndex &idx)=0
 
void shrink ()
 Shrink the column by removing all invalid elements from the end. More...
 
virtual void insertElements (size_t pos, size_t elem)=0
 
virtual void appendElements (size_t elem)=0
 
virtual void removeElements (size_t pos, size_t elem)=0
 
virtual void resize (size_t elem)=0
 
virtual int compare (int i, int j, bool flag) const =0
 
virtual bool isValid (int elem) const =0
 
virtual bool asBool (int elem) const =0
 
virtual size_t size () const =0
 
virtual size_t getBytes () const =0
 
size_t getNumFilledElements () const
 Return the number of actual filled elements in this column, which can be different from the actual size of the column. More...
 
virtual TableColumnconvert (ColumnType type=TableColumn::TYPE_NONE)=0
 

Static Public Member Functions

static std::string getDefaultColumnHead (size_t colNo)
 Creates a default column headline for a column, which can be used without an instance of this class. More...
 
static std::string typeToString (ColumnType type)
 Converts the passed ColumnType value to a string representation. More...
 
static ColumnType stringToType (const std::string &sType)
 Converts the passed string representation to a ColumnType value. More...
 
static std::vector< std::string > getTypesAsString ()
 Returns a list of all available column types as strings. More...
 

Public Attributes

std::string m_sHeadLine
 
ColumnType m_type
 

Detailed Description

Abstract table column, which allows using it to compose the data table in each Memory instance.

Definition at line 33 of file tablecolumn.hpp.

Member Enumeration Documentation

◆ ColumnType

Enumerator
TYPE_NONE 
VALUELIKE 
TYPE_VALUE 
TYPE_DATETIME 
TYPE_LOGICAL 
TYPE_CATEGORICAL 
STRINGLIKE 
TYPE_STRING 
TYPE_MIXED 

Definition at line 35 of file tablecolumn.hpp.

Constructor & Destructor Documentation

◆ TableColumn()

TableColumn::TableColumn ( )
inline

Definition at line 51 of file tablecolumn.hpp.

◆ ~TableColumn()

virtual TableColumn::~TableColumn ( )
inlinevirtual

Definition at line 52 of file tablecolumn.hpp.

Member Function Documentation

◆ appendElements()

virtual void TableColumn::appendElements ( size_t  elem)
pure virtual

◆ asBool()

virtual bool TableColumn::asBool ( int  elem) const
pure virtual

◆ assign()

virtual void TableColumn::assign ( const TableColumn column)
pure virtual

◆ compare()

virtual int TableColumn::compare ( int  i,
int  j,
bool  flag 
) const
pure virtual

◆ convert()

virtual TableColumn * TableColumn::convert ( ColumnType  type = TableColumn::TYPE_NONE)
pure virtual

◆ copy() [1/2]

TableColumn * TableColumn::copy ( ) const

Simplification wrapper around the indiced copy method to copy the whole column.

Returns
TableColumn*

Definition at line 163 of file tablecolumn.cpp.

References copy(), and VectorIndex::OPEN_END.

Referenced by copy().

Here is the call graph for this function:

◆ copy() [2/2]

virtual TableColumn * TableColumn::copy ( const VectorIndex idx) const
pure virtual

◆ deleteElements()

virtual void TableColumn::deleteElements ( const VectorIndex idx)
pure virtual

◆ getBytes()

virtual size_t TableColumn::getBytes ( ) const
pure virtual

◆ getDefaultColumnHead()

std::string TableColumn::getDefaultColumnHead ( size_t  colNo)
static

Creates a default column headline for a column, which can be used without an instance of this class.

Parameters
colNosize_t
Returns
std::string

Definition at line 222 of file tablecolumn.cpp.

References _lang, Language::get(), and toString().

Referenced by NumeRe::TextDataFile::calculateColumnWidths(), convert_for_overwrite(), convert_if_empty(), Memory::createTableHeaders(), NumeRe::Table::getCleanHead(), NumeRe::Table::getCleanHeadPart(), NumeRe::Table::getHead(), Memory::getHeadLineElement(), and NumeRe::GenericFile::getLineFromHead().

Here is the call graph for this function:

◆ getNumFilledElements()

size_t TableColumn::getNumFilledElements ( ) const

Return the number of actual filled elements in this column, which can be different from the actual size of the column.

Returns
size_t

Definition at line 201 of file tablecolumn.cpp.

References isValid(), and size().

Here is the call graph for this function:

◆ getTypesAsString()

std::vector< std::string > TableColumn::getTypesAsString ( )
static

Returns a list of all available column types as strings.

Returns
std::vector<std::string>

Definition at line 292 of file tablecolumn.cpp.

Referenced by TableViewer::changeColType().

◆ getValue() [1/2]

std::vector< mu::value_type > TableColumn::getValue ( const VectorIndex idx) const

Return the table column's contents as a vector of numerical types.

Parameters
idxconst VectorIndex&
Returns
std::vector<mu::value_type>

Definition at line 78 of file tablecolumn.cpp.

References getValue(), VectorIndex::setOpenEndIndex(), VectorIndex::size(), and size().

Referenced by getValue(), DateTimeColumn::insert(), and LogicalColumn::insert().

Here is the call graph for this function:

◆ getValue() [2/2]

virtual mu::value_type TableColumn::getValue ( size_t  elem) const
pure virtual

◆ getValueAsInternalString() [1/2]

std::vector< std::string > TableColumn::getValueAsInternalString ( const VectorIndex idx) const

Returns the table column's contents as a vector containing internal strings.

Parameters
idxconst VectorIndex&
Returns
std::vector<std::string>

Definition at line 56 of file tablecolumn.cpp.

References getValueAsInternalString(), VectorIndex::setOpenEndIndex(), VectorIndex::size(), and size().

Referenced by CategoricalColumn::convert(), Memory::getRank(), getValueAsInternalString(), and CategoricalColumn::insert().

Here is the call graph for this function:

◆ getValueAsInternalString() [2/2]

virtual std::string TableColumn::getValueAsInternalString ( size_t  elem) const
pure virtual

◆ getValueAsParserString()

virtual std::string TableColumn::getValueAsParserString ( size_t  elem) const
pure virtual

◆ getValueAsString() [1/2]

std::vector< std::string > TableColumn::getValueAsString ( const VectorIndex idx) const

Return the table column's contents as a vector of strings.

Parameters
idxconst VectorIndex&
Returns
std::vector<std::string>

Definition at line 34 of file tablecolumn.cpp.

References getValueAsString(), VectorIndex::setOpenEndIndex(), VectorIndex::size(), and size().

Referenced by getValueAsString().

Here is the call graph for this function:

◆ getValueAsString() [2/2]

virtual std::string TableColumn::getValueAsString ( size_t  elem) const
pure virtual

◆ getValueAsStringLiteral()

virtual std::string TableColumn::getValueAsStringLiteral ( size_t  elem) const
pure virtual

◆ insert()

virtual void TableColumn::insert ( const VectorIndex idx,
const TableColumn column 
)
pure virtual

◆ insertElements()

virtual void TableColumn::insertElements ( size_t  pos,
size_t  elem 
)
pure virtual

◆ isValid()

virtual bool TableColumn::isValid ( int  elem) const
pure virtual

◆ removeElements()

virtual void TableColumn::removeElements ( size_t  pos,
size_t  elem 
)
pure virtual

◆ resize()

virtual void TableColumn::resize ( size_t  elem)
pure virtual

◆ setValue() [1/5]

void TableColumn::setValue ( const VectorIndex idx,
const std::vector< mu::value_type > &  vValue 
)

Sets a numerical vector at the specified indices.

Parameters
idxconst VectorIndex&
vValueconst std::vector<mu::value_type>&
Returns
void

Definition at line 122 of file tablecolumn.cpp.

References setValue(), and VectorIndex::size().

Here is the call graph for this function:

◆ setValue() [2/5]

void TableColumn::setValue ( const VectorIndex idx,
const std::vector< std::string > &  vValue 
)

Sets a string vector at the specified indices.

Parameters
idxconst VectorIndex&
vValueconst std::vector<std::string>&
Returns
void

Definition at line 101 of file tablecolumn.cpp.

References setValue(), and VectorIndex::size().

Referenced by ValueColumn::convert(), DateTimeColumn::convert(), LogicalColumn::convert(), StringColumn::convert(), CategoricalColumn::convert(), ValueColumn::insert(), DateTimeColumn::insert(), LogicalColumn::insert(), StringColumn::insert(), CategoricalColumn::insert(), and setValue().

Here is the call graph for this function:

◆ setValue() [3/5]

void TableColumn::setValue ( const VectorIndex idx,
mu::value_type _dData,
unsigned int  _nNum 
)

Sets a plain numerical array at the specified indices.

Parameters
idxconst VectorIndex&
_dDatamu::value_type*
_nNumunsigned int
Returns
void

Definition at line 144 of file tablecolumn.cpp.

References setValue(), and VectorIndex::size().

Here is the call graph for this function:

◆ setValue() [4/5]

virtual void TableColumn::setValue ( size_t  elem,
const mu::value_type vValue 
)
pure virtual

◆ setValue() [5/5]

virtual void TableColumn::setValue ( size_t  elem,
const std::string &  sValue 
)
pure virtual

◆ shrink()

void TableColumn::shrink ( )

Shrink the column by removing all invalid elements from the end.

Returns
void

Definition at line 176 of file tablecolumn.cpp.

References isValid(), resize(), and size().

Referenced by ValueColumn::deleteElements(), DateTimeColumn::deleteElements(), LogicalColumn::deleteElements(), StringColumn::deleteElements(), and CategoricalColumn::deleteElements().

Here is the call graph for this function:

◆ size()

virtual size_t TableColumn::size ( ) const
pure virtual

◆ stringToType()

TableColumn::ColumnType TableColumn::stringToType ( const std::string &  sType)
static

Converts the passed string representation to a ColumnType value.

Parameters
sTypeconst std::string&
Returns
TableColumn::ColumnType

Definition at line 268 of file tablecolumn.cpp.

References TYPE_CATEGORICAL, TYPE_DATETIME, TYPE_LOGICAL, TYPE_NONE, TYPE_STRING, and TYPE_VALUE.

Referenced by TableViewer::changeColType(), and Memory::convertColumns().

◆ typeToString()

Member Data Documentation

◆ m_sHeadLine

◆ m_type


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