API Documentation
Loading...
Searching...
No Matches
Table Class Referenceabstract

Provides access to a set of named columns all with the same number of rows. Columns can also be floating, meaning they do not share the same number of rows as the table, but can still be accessed. More...

#include <Table.h>

Inheritance diagram for Table:
[legend]
Collaboration diagram for Table:
[legend]

Public Member Functions

virtual uint04 addChannel (const DynamicPointer< TableColumn > &channel, bool is_floating=false)
 
virtual void addIndexChannel (const DynamicPointer< TableColumn > &channel)
 
void addRow ()
 
void appendRows (uint04 size)
 
auto begin ()
 
void clear ()
 
virtual uint04 columnSize () const
 
void copyRow (uint04 source, uint04 destination)
 
void copyRows (uint04 source, uint04 destination, uint04 size)
 
virtual uint04 createChannel (const String &name, const TypeInfo &type_info, bool is_floating=false)=0
 
auto end ()
 
void fetchDataColumns (Buffer< DynamicPointer< TableColumn > > &columns, const Buffer< String > &exclusion_list)
 
void fixIndexLinking (const DynamicPointer< TableColumn > &channel)
 
TableColumnget (const String &channel)
 
const TableColumnget (const String &channel) const
 
TableColumnget (uint04 channel_index)
 
const TableColumnget (uint04 channel_index) const
 
Buffer< StringgetColumnNames () const
 
const DynamicPointer< TableColumn > & getPtr (const String &channel)
 
const DynamicPointer< TableColumn > & getPtr (uint04 channel_index)
 
virtual UUID GUID () const
 
bool hasColumn (const String &column_name) const
 
bool hasColumn (uint04 index) const
 
bool hasMatchingColumns (const Table &table) const
 
uint04 indexOf (const String &column_name) const
 
void insertRow (uint04 index)
 
void insertRows (uint04 index, uint04 size)
 
void mapFromFile (BinaryFile &file, uint08 version_number)
 
void mapToFile (BinaryFile &file, const Buffer< String > &exclusion_list={}) const
 
const Stringname () const
 
bool operator== (const Table &table) const
 
TableColumnoperator[] (const String &channel)
 
const TableColumnoperator[] (const String &channel) const
 
TableColumnoperator[] (uint04 channel_index)
 
const TableColumnoperator[] (uint04 channel_index) const
 
void removeColumn (const String &channel)
 
void removeColumn (uint04 channel)
 
void removeRow (uint04 index)
 
void removeRows (const Buffer< uint04 > &sorted_romove_indices)
 
void removeRows (uint04 index, uint04 size)
 
void removeRows (uint04 offset, const Buffer< bool > &remove_mask)
 
void renameColumn (uint04 column_index, const String &new_name)
 
virtual uint04 rowSize () const
 
template<class t_type >
void set (uint04 channel_index, uint04 value_index, const t_type &value)
 
template<uint01 t_dims, class t_type >
void set (uint04 channel_index, uint04 value_index, const Vector< t_dims, t_type > &value)
 
void setAll (uint04 to_location, uint04 from_location, uint04 size, ConstPointer< Table > from_table)
 
void setSize (uint04 size)
 
virtual uint04 size () const
 
 Table ()
 
 Table (const String &name)
 
void update (const TableChange &change, bool update_floating)
 
void updateAll (bool update_floating)
 
bool validate () const
 
virtual ~Table ()
 

Protected Attributes

Buffer< DynamicPointer< TableColumn > > m_data_channels
 
Buffer< DynamicPointer< TableColumn > > m_index_channels
 
Buffer< bool > m_is_floating
 
String m_name
 
Dictionary< String, DynamicPointer< TableColumn > > m_name_channels
 
uint04 m_size
 
UUID m_uuid
 

Detailed Description

Provides access to a set of named columns all with the same number of rows. Columns can also be floating, meaning they do not share the same number of rows as the table, but can still be accessed.


Constructor & Destructor Documentation

◆ Table() [1/2]

Table ( )

◆ Table() [2/2]

Table ( const String & name)
explicit

◆ ~Table()

virtual ~Table ( )
virtual

Member Function Documentation

◆ addChannel()

virtual uint04 addChannel ( const DynamicPointer< TableColumn > & channel,
bool is_floating = false )
virtual

◆ addIndexChannel()

virtual void addIndexChannel ( const DynamicPointer< TableColumn > & channel)
virtual

◆ addRow()

void addRow ( )

◆ appendRows()

void appendRows ( uint04 size)

◆ begin()

auto begin ( )
inline

◆ clear()

void clear ( )

◆ columnSize()

virtual uint04 columnSize ( ) const
virtual

◆ copyRow()

void copyRow ( uint04 source,
uint04 destination )

◆ copyRows()

void copyRows ( uint04 source,
uint04 destination,
uint04 size )

◆ createChannel()

virtual uint04 createChannel ( const String & name,
const TypeInfo & type_info,
bool is_floating = false )
pure virtual

Implemented in TableType.

◆ end()

auto end ( )
inline

◆ fetchDataColumns()

void fetchDataColumns ( Buffer< DynamicPointer< TableColumn > > & columns,
const Buffer< String > & exclusion_list )

◆ fixIndexLinking()

void fixIndexLinking ( const DynamicPointer< TableColumn > & channel)

◆ get() [1/4]

TableColumn & get ( const String & channel)
inline

◆ get() [2/4]

const TableColumn & get ( const String & channel) const
inline

◆ get() [3/4]

TableColumn & get ( uint04 channel_index)

◆ get() [4/4]

const TableColumn & get ( uint04 channel_index) const

◆ getColumnNames()

Buffer< String > getColumnNames ( ) const

◆ getPtr() [1/2]

const DynamicPointer< TableColumn > & getPtr ( const String & channel)
inline

◆ getPtr() [2/2]

const DynamicPointer< TableColumn > & getPtr ( uint04 channel_index)
inline

◆ GUID()

virtual UUID GUID ( ) const
inlinevirtual

◆ hasColumn() [1/2]

bool hasColumn ( const String & column_name) const

◆ hasColumn() [2/2]

bool hasColumn ( uint04 index) const

◆ hasMatchingColumns()

bool hasMatchingColumns ( const Table & table) const

◆ indexOf()

uint04 indexOf ( const String & column_name) const

◆ insertRow()

void insertRow ( uint04 index)

◆ insertRows()

void insertRows ( uint04 index,
uint04 size )

◆ mapFromFile()

void mapFromFile ( BinaryFile & file,
uint08 version_number )

◆ mapToFile()

void mapToFile ( BinaryFile & file,
const Buffer< String > & exclusion_list = {} ) const

◆ name()

const String & name ( ) const

◆ operator==()

bool operator== ( const Table & table) const
inline

◆ operator[]() [1/4]

TableColumn & operator[] ( const String & channel)
inline

◆ operator[]() [2/4]

const TableColumn & operator[] ( const String & channel) const
inline

◆ operator[]() [3/4]

TableColumn & operator[] ( uint04 channel_index)
inline

◆ operator[]() [4/4]

const TableColumn & operator[] ( uint04 channel_index) const
inline

◆ removeColumn() [1/2]

void removeColumn ( const String & channel)

◆ removeColumn() [2/2]

void removeColumn ( uint04 channel)

◆ removeRow()

void removeRow ( uint04 index)

◆ removeRows() [1/3]

void removeRows ( const Buffer< uint04 > & sorted_romove_indices)

◆ removeRows() [2/3]

void removeRows ( uint04 index,
uint04 size )

◆ removeRows() [3/3]

void removeRows ( uint04 offset,
const Buffer< bool > & remove_mask )

◆ renameColumn()

void renameColumn ( uint04 column_index,
const String & new_name )

◆ rowSize()

virtual uint04 rowSize ( ) const
virtual

◆ set() [1/2]

template<class t_type >
void set ( uint04 channel_index,
uint04 value_index,
const t_type & value )
inline

◆ set() [2/2]

template<uint01 t_dims, class t_type >
void set ( uint04 channel_index,
uint04 value_index,
const Vector< t_dims, t_type > & value )
inline

◆ setAll()

void setAll ( uint04 to_location,
uint04 from_location,
uint04 size,
ConstPointer< Table > from_table )

◆ setSize()

void setSize ( uint04 size)

◆ size()

virtual uint04 size ( ) const
virtual

◆ update()

void update ( const TableChange & change,
bool update_floating )

◆ updateAll()

void updateAll ( bool update_floating)

◆ validate()

bool validate ( ) const

Member Data Documentation

◆ m_data_channels

Buffer<DynamicPointer<TableColumn> > m_data_channels
protected

◆ m_index_channels

Buffer<DynamicPointer<TableColumn> > m_index_channels
protected

◆ m_is_floating

Buffer<bool> m_is_floating
protected

◆ m_name

String m_name
protected

◆ m_name_channels

Dictionary<String, DynamicPointer<TableColumn> > m_name_channels
protected

◆ m_size

uint04 m_size
protected

◆ m_uuid

UUID m_uuid
protected

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