34#include <NDEVR/TableColumn.h>
35#include <NDEVR/Dictionary.h>
36#include <NDEVR/Pointer.h>
60 template<
class t_type>
63 lib_assert(!m_data_channels[channel_index].isNull(),
"Invalid Channel Selected");
64 m_data_channels[channel_index]->set(value_index, value);
66 template<u
int01 t_dims,
class t_type>
69 lib_assert(!m_data_channels[channel_index].isNull(),
"Invalid Channel Selected");
70 m_data_channels[channel_index]->set(value_index, value);
95 return get(channel_index);
99 return get(channel_index);
115 return m_data_channels[channel_index];
119 return m_name_channels[channel].
get();
123 return m_name_channels[channel].
get();
127 return m_name_channels[channel];
133 return m_name_channels.begin();
138 return m_name_channels.end();
143 return table.
m_uuid == m_uuid;
#define lib_assert(expression, message)
Definition LibAssert.h:61
Logic for reading or writing to a binary file including logic for.
Definition BinaryFile.h:59
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:56
Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object...
Definition GraphicsPipeline.h:42
A hash-based key-value store, useful for quick associative lookups. Key features include:
Definition Dictionary.h:61
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
Definition Pointer.hpp:320
The core String class for the NDEVR API.
Definition String.h:69
A virtual storage type that is used with Table class to store data where the actual mechanism for sto...
Definition TableColumn.h:76
void get(uint04 index, Vector< 1, t_class > &vector) const
Definition TableColumn.h:236
Provides access to a set of named columns all with the same number of rows. Columns can also be float...
Definition Table.h:46
void removeRow(uint04 index)
void setSize(uint04 size)
TableColumn & operator[](uint04 channel_index)
Definition Table.h:97
virtual UUID GUID() const
Definition Table.h:145
Table(const String &name)
Buffer< DynamicPointer< TableColumn > > m_data_channels
Definition Table.h:160
TableColumn & get(const String &channel)
Definition Table.h:117
const TableColumn & get(uint04 channel_index) const
Buffer< String > getColumnNames() const
virtual uint04 rowSize() const
const DynamicPointer< TableColumn > & getPtr(uint04 channel_index)
Definition Table.h:113
void set(uint04 channel_index, uint04 value_index, const Vector< t_dims, t_type > &value)
Definition Table.h:67
virtual uint04 size() const
const TableColumn & get(const String &channel) const
Definition Table.h:121
void mapToFile(BinaryFile &file, const Buffer< String > &exclusion_list={}) const
bool hasColumn(const String &column_name) const
void removeColumn(uint04 channel)
Dictionary< String, DynamicPointer< TableColumn > > m_name_channels
Definition Table.h:158
Buffer< DynamicPointer< TableColumn > > m_index_channels
Definition Table.h:161
void copyRow(uint04 source, uint04 destination)
const TableColumn & operator[](uint04 channel_index) const
Definition Table.h:93
void mapFromFile(BinaryFile &file, uint08 version_number)
void set(uint04 channel_index, uint04 value_index, const t_type &value)
Definition Table.h:61
uint04 m_size
Definition Table.h:162
TableColumn & get(uint04 channel_index)
void setAll(uint04 to_location, uint04 from_location, uint04 size, ConstPointer< Table > from_table)
auto end()
Definition Table.h:136
void removeColumn(const String &channel)
void update(const TableChange &change, bool update_floating)
virtual uint04 addChannel(const DynamicPointer< TableColumn > &channel, bool is_floating=false)
TableColumn & operator[](const String &channel)
Definition Table.h:106
void removeRows(uint04 index, uint04 size)
bool hasColumn(uint04 index) const
void fetchDataColumns(Buffer< DynamicPointer< TableColumn > > &columns, const Buffer< String > &exclusion_list)
virtual uint04 columnSize() const
void removeRows(uint04 offset, const Buffer< bool > &remove_mask)
void renameColumn(uint04 column_index, const String &new_name)
uint04 indexOf(const String &column_name) const
void removeRows(const Buffer< uint04 > &sorted_romove_indices)
void updateAll(bool update_floating)
void fixIndexLinking(const DynamicPointer< TableColumn > &channel)
void insertRow(uint04 index)
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:125
bool operator==(const Table &table) const
Definition Table.h:141
const String & name() const
String m_name
Definition Table.h:163
virtual void addIndexChannel(const DynamicPointer< TableColumn > &channel)
const TableColumn & operator[](const String &channel) const
Definition Table.h:102
bool hasMatchingColumns(const Table &table) const
void copyRows(uint04 source, uint04 destination, uint04 size)
void insertRows(uint04 index, uint04 size)
Buffer< bool > m_is_floating
Definition Table.h:159
auto begin()
Definition Table.h:131
void appendRows(uint04 size)
UUID m_uuid
Definition Table.h:157
Stores information about a type, relevant for certain templated functions. To get information about a...
Definition TypeInfo.h:43
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
Definition UUID.h:60
A fixed-size array with better performance compared to dynamic containers.
Definition Vector.hpp:60
uint64_t uint08
-Defines an alias representing an 8 byte, unsigned integer
Definition BaseValues.hpp:106
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96
Records changes to a table or column noting the bounds of the data adjusted. Useful for optimized sav...
Definition TableColumn.h:53