Health-GPS  1.2.2.0
Global Health Policy Simulation model (Health-GPS)
hgps::core::DataTableColumn Class Referenceabstract

DataTable columns interface data type. More...

#include <column.h>

Inheritance diagram for hgps::core::DataTableColumn:
[legend]

Public Member Functions

 DataTableColumn ()=default
 Initialises a new instance of the DataTableColumn class. More...
 
 DataTableColumn (const DataTableColumn &)=delete
 
DataTableColumnoperator= (const DataTableColumn &)=delete
 
 DataTableColumn (DataTableColumn &&)=delete
 
DataTableColumnoperator= (DataTableColumn &&)=delete
 
virtual ~DataTableColumn ()
 Destroys a DataTableColumn instance. More...
 
virtual std::string type () const noexcept=0
 Gets the column type name. More...
 
virtual std::string name () const noexcept=0
 Gets the column name identifier. More...
 
virtual std::size_t null_count () const noexcept=0
 Gets the number of null values in the column data. More...
 
virtual std::size_t size () const noexcept=0
 The size of the column data, number of rows. More...
 
virtual bool is_null (std::size_t index) const noexcept=0
 Determine whether a column value is null. More...
 
virtual bool is_valid (std::size_t index) const noexcept=0
 Determine whether a column value is not null. More...
 
virtual const std::any value (std::size_t index) const noexcept=0
 Gets the column value at a given index. More...
 
virtual void accept (DataTableColumnVisitor &visitor) const =0
 Double dispatch the column using a visitor implementation. More...
 

Detailed Description

DataTable columns interface data type.

Constructor & Destructor Documentation

◆ DataTableColumn() [1/3]

hgps::core::DataTableColumn::DataTableColumn ( )
default

Initialises a new instance of the DataTableColumn class.

◆ DataTableColumn() [2/3]

hgps::core::DataTableColumn::DataTableColumn ( const DataTableColumn )
delete

◆ DataTableColumn() [3/3]

hgps::core::DataTableColumn::DataTableColumn ( DataTableColumn &&  )
delete

◆ ~DataTableColumn()

virtual hgps::core::DataTableColumn::~DataTableColumn ( )
inlinevirtual

Destroys a DataTableColumn instance.

Member Function Documentation

◆ accept()

virtual void hgps::core::DataTableColumn::accept ( DataTableColumnVisitor visitor) const
pure virtual

Double dispatch the column using a visitor implementation.

Parameters
visitorThe visitor instance to accept

Implemented in hgps::core::StringDataTableColumn, hgps::core::IntegerDataTableColumn, hgps::core::DoubleDataTableColumn, and hgps::core::FloatDataTableColumn.

◆ is_null()

virtual bool hgps::core::DataTableColumn::is_null ( std::size_t  index) const
pure virtualnoexcept

Determine whether a column value is null.

Parameters
indexColumn index to check
Returns
true is the value is null; otherwise, false.

Implemented in hgps::core::PrimitiveDataTableColumn< TYPE >, hgps::core::PrimitiveDataTableColumn< double >, hgps::core::PrimitiveDataTableColumn< std::string >, hgps::core::PrimitiveDataTableColumn< float >, and hgps::core::PrimitiveDataTableColumn< int >.

◆ is_valid()

virtual bool hgps::core::DataTableColumn::is_valid ( std::size_t  index) const
pure virtualnoexcept

Determine whether a column value is not null.

Parameters
indexColumn index to check
Returns
true is the value is not null; otherwise, false.

Implemented in hgps::core::PrimitiveDataTableColumn< TYPE >, hgps::core::PrimitiveDataTableColumn< double >, hgps::core::PrimitiveDataTableColumn< std::string >, hgps::core::PrimitiveDataTableColumn< float >, and hgps::core::PrimitiveDataTableColumn< int >.

◆ name()

virtual std::string hgps::core::DataTableColumn::name ( ) const
pure virtualnoexcept

Gets the column name identifier.

Returns
Column name

Implemented in hgps::core::PrimitiveDataTableColumn< TYPE >, hgps::core::PrimitiveDataTableColumn< double >, hgps::core::PrimitiveDataTableColumn< std::string >, hgps::core::PrimitiveDataTableColumn< float >, and hgps::core::PrimitiveDataTableColumn< int >.

Here is the caller graph for this function:

◆ null_count()

virtual std::size_t hgps::core::DataTableColumn::null_count ( ) const
pure virtualnoexcept

◆ operator=() [1/2]

DataTableColumn& hgps::core::DataTableColumn::operator= ( const DataTableColumn )
delete

◆ operator=() [2/2]

DataTableColumn& hgps::core::DataTableColumn::operator= ( DataTableColumn &&  )
delete

◆ size()

virtual std::size_t hgps::core::DataTableColumn::size ( ) const
pure virtualnoexcept

The size of the column data, number of rows.

Returns
Column size

Implemented in hgps::core::PrimitiveDataTableColumn< TYPE >, hgps::core::PrimitiveDataTableColumn< double >, hgps::core::PrimitiveDataTableColumn< std::string >, hgps::core::PrimitiveDataTableColumn< float >, and hgps::core::PrimitiveDataTableColumn< int >.

Here is the caller graph for this function:

◆ type()

◆ value()

virtual const std::any hgps::core::DataTableColumn::value ( std::size_t  index) const
pure virtualnoexcept

Gets the column value at a given index.

Parameters
indexColumn index
Returns
The value at index, if inside bounds; otherwise empty

Implemented in hgps::core::PrimitiveDataTableColumn< TYPE >, hgps::core::PrimitiveDataTableColumn< double >, hgps::core::PrimitiveDataTableColumn< std::string >, hgps::core::PrimitiveDataTableColumn< float >, and hgps::core::PrimitiveDataTableColumn< int >.


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