34#include <NDEVR/TableColumn.h>
35#include <NDEVR/Dictionary.h>
36#include <NDEVR/Pointer.h>
46 bool validate()
const;
47 virtual uint04 size()
const;
55 template<
class t_type>
58 lib_assert(!m_data_channels[channel_index].isNull(),
"Invalid Channel Selected");
59 m_data_channels[channel_index]->set(value_index, value);
61 template<u
int01 t_dims,
class t_type>
64 lib_assert(!m_data_channels[channel_index].isNull(),
"Invalid Channel Selected");
65 m_data_channels[channel_index]->set(value_index, value);
67 virtual uint04 rowSize()
const;
68 virtual uint04 columnSize()
const;
74 void appendRows(
uint04 size);
75 void insertRow(
uint04 index);
77 void removeColumn(
uint04 channel);
78 void removeColumn(
const String& channel);
79 void removeRow(
uint04 index);
83 bool hasColumn(
const String& column_name)
const;
84 void renameColumn(
uint04 column_index,
const String& new_name);
85 bool hasColumn(
uint04 index)
const;
90 return get(channel_index);
94 return get(channel_index);
110 return m_data_channels[channel_index];
114 return m_name_channels[channel].
get();
118 return m_name_channels[channel].
get();
122 return m_name_channels[channel];
124 bool hasMatchingColumns(
const Table& table)
const;
128 return m_name_channels.begin();
133 return m_name_channels.end();
138 return table.
m_uuid == m_uuid;
145 const String& name()
const;
147 void mapFromFile(BinaryFile& file, uint08 version_number);
148 Buffer<String> getColumnNames()
const;
149 void updateAll(
bool update_floating);
150 void update(
const TableChange& change,
bool update_floating);
#define lib_assert(expression, message)
Asserts some logic in the code. Disabled in non debug mode by default. Can be re-enabled in release u...
Definition LibAssert.h:70
Definition BinaryFile.h:51
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:64
Definition GraphicsPipeline.h:42
Definition Dictionary.h:48
Definition Pointer.hpp:303
Definition TableColumn.h:68
void get(uint04 index, Vector< 1, t_class > &vector) const
Definition TableColumn.h:228
TableColumn & operator[](uint04 channel_index)
Definition Table.h:92
virtual UUID GUID() const
Definition Table.h:140
Buffer< DynamicPointer< TableColumn > > m_data_channels
Definition Table.h:155
TableColumn & get(const String &channel)
Definition Table.h:112
const DynamicPointer< TableColumn > & getPtr(uint04 channel_index)
Definition Table.h:108
void set(uint04 channel_index, uint04 value_index, const Vector< t_dims, t_type > &value)
Definition Table.h:62
const TableColumn & get(const String &channel) const
Definition Table.h:116
Dictionary< String, DynamicPointer< TableColumn > > m_name_channels
Definition Table.h:153
Buffer< DynamicPointer< TableColumn > > m_index_channels
Definition Table.h:156
const TableColumn & operator[](uint04 channel_index) const
Definition Table.h:88
void set(uint04 channel_index, uint04 value_index, const t_type &value)
Definition Table.h:56
uint04 m_size
Definition Table.h:157
auto end()
Definition Table.h:131
TableColumn & operator[](const String &channel)
Definition Table.h:101
virtual uint04 createChannel(const String &name, const TypeInfo &type_info, bool is_floating=false)=0
const DynamicPointer< TableColumn > & getPtr(const String &channel)
Definition Table.h:120
bool operator==(const Table &table) const
Definition Table.h:136
String m_name
Definition Table.h:158
const TableColumn & operator[](const String &channel) const
Definition Table.h:97
Buffer< bool > m_is_floating
Definition Table.h:154
auto begin()
Definition Table.h:126
UUID m_uuid
Definition Table.h:152
An element of a vector space. An element of the real coordinate space Rn Basis vector,...
Definition Vector.hpp:62
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:120