NDEVR
API Documentation
TableVectorType< t_dims, t_type >

A TableColumnBuffer that also has some number of defined rows stored in a Vector object Allows for virtual memory access with the caller not needing to know how the data itself is stored. More...

Inheritance diagram for TableVectorType< t_dims, t_type >:
[legend]
Collaboration diagram for TableVectorType< t_dims, t_type >:
[legend]

Public Member Functions

 TableVectorType (const Buffer< Vector< t_dims, t_type > > &buffer, const StringView &label)
 Constructs a TableVectorType from a pre-populated buffer of vectors.
 TableVectorType (const StringView &label)
 Constructs a TableVectorType with the given column label.
virtual void get (uint04 index, RGBColor &value) const override
 Gets the vector value at the given row as an RGBColor.
virtual void get (uint04, StringView &) const override
 Asserts; StringView get is not supported for vector types.
virtual uint04 getRowSize (uint04) const override
 Returns the number of components per row (the vector dimension count).
TableVectorType< t_dims, t_type > * getSelected (const Buffer< bool > &selected_indices) const override
 Creates a new column containing only the rows marked true in the selection mask.
virtual void insertIndices (uint04 location, uint04 size) override
 Adjusts index references stored in this column after rows are inserted elsewhere.
virtual void removeIndices (const Buffer< uint04 > &offset_lookup_list) override
 Remaps index references using a lookup table after index removal.
virtual void removeIndices (uint04 location, uint04 size) override
 Adjusts index references stored in this column after rows are removed elsewhere.
virtual void swapIndices (uint04 a, uint04 b) override
 Swaps all index references to a with b and vice versa throughout the column.
uint08 tableHash () const override
 Computes a hash of the entire column data using FNV-like hashing.
virtual TypeInfo type () const override
 Returns TypeInfo describing the stored Vector type.
virtual void set (uint04 index, uint04 vector_pos, bool value) override
 Sets a single component of the vector at the given row and vector position. Casts the incoming value to the column's element type before assignment.
virtual void set (uint04 index, uint04 vector_pos, uint01 value) override
 Sets a uint01 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, uint02 value) override
 Sets a uint02 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, uint04 value) override
 Sets a uint04 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, uint08 value) override
 Sets a uint08 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, sint01 value) override
 Sets a sint01 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, sint02 value) override
 Sets a sint02 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, sint04 value) override
 Sets a sint04 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, sint08 value) override
 Sets a sint08 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, fltp04 value) override
 Sets a fltp04 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, fltp08 value) override
 Sets a fltp08 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, const StringView &value) override
 Sets a string value at a specific vector position within a row.
virtual void set (uint04 index, bool value) override
 Sets the entire vector at the given row by broadcasting a scalar value. Casts the incoming value to the column's vector type before assignment.
virtual void set (uint04 index, uint01 value) override
 Sets a uint01 value at the given row index.
virtual void set (uint04 index, uint02 value) override
 Sets a uint02 value at the given row index.
virtual void set (uint04 index, uint04 value) override
 Sets a uint04 value at the given row index.
virtual void set (uint04 index, uint08 value) override
 Sets a uint08 value at the given row index.
virtual void set (uint04 index, sint01 value) override
 Sets a sint01 value at the given row index.
virtual void set (uint04 index, sint02 value) override
 Sets a sint02 value at the given row index.
virtual void set (uint04 index, sint04 value) override
 Sets a sint04 value at the given row index.
virtual void set (uint04 index, sint08 value) override
 Sets a sint08 value at the given row index.
virtual void set (uint04 index, fltp04 value) override
 Sets a fltp04 value at the given row index.
virtual void set (uint04 index, fltp08 value) override
 Sets a fltp08 value at the given row index.
virtual void set (uint04 index, const StringView &value) override
 Sets a string value at the given row index.
virtual void set (uint04 index, RGBColor value) override
 Sets an RGBColor value at the given row index.
virtual void get (uint04 index, uint04 vector_pos, bool &value) const override
 Gets a single component of the vector at the given row and vector position. Casts the stored component value to the requested output type.
virtual void get (uint04 index, uint04 vector_pos, uint01 &value) const override
 Retrieves a uint01 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, uint02 &value) const override
 Retrieves a uint02 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, uint04 &value) const override
 Retrieves a uint04 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, uint08 &value) const override
 Retrieves a uint08 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, sint01 &value) const override
 Retrieves a sint01 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, sint02 &value) const override
 Retrieves a sint02 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, sint04 &value) const override
 Retrieves a sint04 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, sint08 &value) const override
 Retrieves a sint08 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, fltp04 &value) const override
 Retrieves a fltp04 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, fltp08 &value) const override
 Retrieves a fltp08 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, StringAllocatingView &value) const override
 Retrieves a string value at a specific vector position within a row.
virtual void get (uint04 index, bool &value) const override
 Gets a scalar value from the first component of the vector at the given row. Both branches of the if constexpr produce the same result for all dimensions.
virtual void get (uint04 index, uint01 &value) const override
 Retrieves a uint01 value at the given row index.
virtual void get (uint04 index, uint02 &value) const override
 Retrieves a uint02 value at the given row index.
virtual void get (uint04 index, uint04 &value) const override
 Retrieves a uint04 value at the given row index.
virtual void get (uint04 index, uint08 &value) const override
 Retrieves a uint08 value at the given row index.
virtual void get (uint04 index, sint01 &value) const override
 Retrieves a sint01 value at the given row index.
virtual void get (uint04 index, sint02 &value) const override
 Retrieves a sint02 value at the given row index.
virtual void get (uint04 index, sint04 &value) const override
 Retrieves a sint04 value at the given row index.
virtual void get (uint04 index, sint08 &value) const override
 Retrieves a sint08 value at the given row index.
virtual void get (uint04 index, fltp04 &value) const override
 Retrieves a fltp04 value at the given row index.
virtual void get (uint04 index, fltp08 &value) const override
 Retrieves a fltp08 value at the given row index.
virtual void get (uint04 index, StringAllocatingView &value) const override
 Retrieves a string value at the given row index as a StringAllocatingView.
void getVector (uint04 index, Vector< 3, fltp04 > &vector) const override
 Retrieves the vector at the given row, converting to the requested vector type.
void getVector (uint04 index, Vector< 3, fltp08 > &vector) const override
 Retrieves a 3D fltp08 vector from the given row index.
void getVector (uint04 index, Vector< 3, uint04 > &vector) const override
 Retrieves a 3D uint04 vector from the given row index.
void getVector (uint04 index, Vector< 2, uint04 > &vector) const override
 Retrieves a 2D uint04 vector from the given row index.
virtual void get (uint04 index, Bounds< 3, fltp08 > &b) const override
 Gets or sets a 3D Bounds value stored as a 6-component vector at the given row.
virtual void get (uint04 index, Bounds< 3, fltp04 > &b) const override
 Retrieves a 3D fltp04 bounding box from the given row index.
virtual void set (uint04 index, const Bounds< 3, fltp08 > &b) override
virtual void set (uint04 index, const Bounds< 3, fltp04 > &b) override
Public Member Functions inherited from TableColumnBuffer< Vector< t_dims, t_type > >
 TableColumnBuffer (const StringView &label)
 Constructs a TableColumnBuffer with the given label and an invalid default value.
virtual void addRow () override
 Appends a new row initialized with the default value.
void * begin () override
 Returns a pointer to the beginning of the raw data buffer.
bool beginsWith (uint04 index, const StringView &value, bool ignore_case) const override
 Checks whether the string form of the value at the given row begins with a prefix.
virtual void compress (BinaryCompressionObject &object) override
 Compresses the column data into a binary compression object.
bool contains (uint04 index, const StringView &value, bool ignore_case) const override
 Checks whether the string form of the value at the given row contains a substring.
virtual void copyRow (uint04 source, uint04 destination) override
 Copies the value from the source row to the destination row.
virtual void copyRows (uint04 source, uint04 destination, uint04 size) override
 Copies a contiguous range of rows from source to destination.
void * end () override
 Returns a pointer past the end of the raw data buffer.
virtual void finishMapFromFile (BinaryFileTableInfo &file) override
 Completes file deserialization by extracting the default value from the buffer.
const StringAllocatingView getDefaultValue () const override
 Returns the default value as a string representation.
void insert (uint04 index) override
 Inserts a new row at the given index, initialized to the default value.
virtual void insertRows (uint04 location, uint04 size) override
 Inserts multiple rows at the given location, each initialized to the default value.
bool isSame (uint04 index, const StringView &value) const override
 Checks whether the value at the given row equals the provided string value.
virtual void mapFromFile (BinaryFileTableInfo &file) override
 Reads the column data from a binary file, handling multiple version formats.
virtual void mapToFile (BinaryFileTableInfo &file, int compression) override
 Writes the column data to a binary file with the given compression mode.
decltype(auto) operator[] (const uint04 index)
 Returns a reference to the element at the given row index.
void removeRow (uint04 index) override
 Removes a single row at the given index.
virtual void removeRows (uint04 index, uint04 size) override
 Removes a contiguous range of rows starting at the given index.
virtual void resetRow (uint04 row) override
 Resets the specified row to the default value.
void set (uint04 index, const t_type &value)
 Sets the value at the given row index.
virtual void setDefaultValue (const StringAllocatingView &value) override
 Sets the default value for new rows by parsing a string representation.
virtual void setDefaultValueFrom (const TableColumn &column) override
 Copies the default value from another column into this one.
void setSize (uint04 size) override
 Resizes the column to the specified number of rows.
uint04 size () const override
 Returns the number of rows in this column.
virtual void swap (uint04 a, uint04 b) override
 Swaps the values at two row indices.
Public Member Functions inherited from TableColumn
 TableColumn (const StringView &label)
 Constructs a TableColumn with the given label.
virtual ~TableColumn ()
 Virtual destructor.
virtual const void * begin () const =0
 Returns a const pointer to the beginning of the underlying raw data.
const Buffer< TableChange > & changes () const
 Returns the list of all recorded changes for this column.
Buffer< TableChangechangesSince (const Time &time) const
 Returns all changes recorded since the given time.
Buffer< TableChangechangesSince (const Time &time, const Bounds< 1, uint04 > &range) const
 Returns all changes recorded since the given time within a specific row range.
void clearUpdates ()
 Clears all recorded changes and resets the modified time to zero.
virtual const void * end () const =0
 Returns a const pointer to one past the end of the underlying raw data.
template<class t_class>
t_class get (uint04 index) const
 Convenience template that returns a value by type from the given row index.
void get (uint04 index, BitFlag &bitflag) const
 Retrieves a BitFlag value at the given row index.
template<uint01 t_dims, class t_type>
void get (uint04 index, Bounds< t_dims, t_type > &bounds) const
 Retrieves a Bounds value at the given row index by reading min and max components from contiguous vector positions.
void get (uint04 index, const String &value) const =delete
 Deleted overload to prevent accidentally passing a const String by reference as an output parameter.
void get (uint04 index, File &file) const
 Retrieves a File value at the given row index.
virtual void get (uint04 index, Matrix< fltp04 > &transform) const
 Retrieves a 4x4 fltp04 matrix from the given row index.
virtual void get (uint04 index, Matrix< fltp08 > &transform) const
 Retrieves a 4x4 fltp08 matrix from the given row index.
template<class t_type, uint01 t_col, uint01 t_row>
void get (uint04 index, Matrix< t_type, t_col, t_row > &matrix) const
 Retrieves a generic matrix from the given row index by reading each element from contiguous vector positions in column-major order.
template<class t_class>
std::enable_if< ObjectInfo< t_class >::Enum >::type get (uint04 index, t_class &enum_value) const
 Retrieves an enum value at the given row index by reading a stored uint04.
template<class t_class>
std::enable_if< IsVec< t_class >::value &&t_class::NumberOfDimensions()!=1 >::type get (uint04 index, t_class &vector) const
 Retrieves a multi-dimensional vector value at the given row index.
template<class t_class>
std::enable_if< std::is_pointer< t_class >::value >::type get (uint04 index, t_class &vector) const
 Retrieves a pointer value at the given row index by reading a stored uint08.
void get (uint04 index, Time &time) const
 Retrieves a Time value at the given row index.
void get (uint04 index, TranslatedString &string) const
 Retrieves a TranslatedString value at the given row index.
template<uint01 t_dims, class t_type>
void get (uint04 index, Triangle< t_dims, t_type > &tri) const
 Retrieves a Triangle value at the given row index by reading vertex components from contiguous vector positions.
template<class t_class>
t_class get (uint04 index, uint04 sub_index) const
 Convenience template that returns a value by type from a specific vector position within a row.
virtual void get (uint04 index, UUID &vector) const
 Retrieves a UUID value at the given row index by reading 16 bytes.
template<class t_class>
void get (uint04 index, Vector< 1, t_class > &vector) const
 Retrieves a 1D vector value at the given row index by delegating to the scalar get.
void get (uint04 index, Vector< 32, bool > &value) const
 Retrieves a 32-element boolean vector at the given row index by reading the stored uint04 and reinterpreting its bits.
template<class t_type>
Buffer< t_type > getAll (uint04 start, uint04 size) const
 Retrieves a contiguous range of values as a typed buffer.
template<class t_type>
uint04 getIndexOf (const t_type &object) const
 Searches for the first row containing the given value.
Time getModifiedTime () const
 Returns the last modification time of this column.
virtual void getVector (uint04 index, Vector< 1, uint04 > &vector) const
 Retrieves a 1D uint04 vector from the given row index.
template<uint01 t_dims, class t_type>
void getVector (uint04 index, Vector< t_dims, t_type > &value) const
 Retrieves a generic vector from the given row index by reading each component from consecutive vector positions.
bool hasChangesSince (const Time &time, const Bounds< 1, uint04 > &range) const
 Checks whether any changes have been recorded since the given time within a row range.
template<class t_type>
void insert (uint04 index, const t_type &value)
 Inserts a new row at the given index and immediately sets its value.
const Stringlabel () const
 Returns the label (name) of this column.
virtual void mapToFile (BinaryFileTableInfo &, BinaryCompressionObject &)
 Maps this column to a binary file using compression.
UUID referenceTable () const
 Returns the UUID of a table that this column references, if any.
virtual void removeRows (const Buffer< uint04 > &sorted_remove_indices)=0
 Removes multiple rows identified by a sorted list of indices.
virtual void removeRows (uint04 offset, const Buffer< bool > &indices)=0
 Removes rows indicated by a boolean mask starting from a given offset.
template<class t_type>
void set (t_type *values, uint04 start_index, uint04 size)
 Bulk-sets values from a raw pointer array into this column.
void set (uint04 index, const BitFlag &bitflag)
 Sets a BitFlag value at the given row index by storing its underlying bits.
void set (uint04 index, const BitReference &val)
 Sets the value at the given row index from a BitReference.
template<uint01 t_dims, class t_type>
void set (uint04 index, const Bounds< t_dims, t_type > &value)
 Sets a Bounds value at the given row index by writing min and max components into contiguous vector positions.
void set (uint04 index, const char *string)
 Sets the value at the given row index from a C-string pointer.
template<std::size_t N>
void set (uint04 index, const char(&string)[N])
 Sets the value at the given row index from a string literal.
void set (uint04 index, const File &value)
 Sets a File value at the given row index.
virtual void set (uint04 index, const Matrix< fltp04 > &transform)
 Sets a 4x4 fltp04 matrix value at the given row index.
virtual void set (uint04 index, const Matrix< fltp08 > &transform)
 Sets a 4x4 fltp08 matrix value at the given row index.
template<class t_type, uint01 t_col, uint01 t_row>
void set (uint04 index, const Matrix< t_type, t_col, t_row > &matrix)
 Sets a Matrix value at the given row index by writing each element column-major into contiguous vector positions.
void set (uint04 index, const std::nullptr_t &)
 Sets the value at the given row index to zero (nullptr overload).
void set (uint04 index, const String &value)
 Sets a String value at the given row index.
void set (uint04 index, const StringAllocatingView &string)
 Sets the value at the given row index from a StringAllocatingView.
template<class t_class>
std::enable_if< ObjectInfo< t_class >::Enum >::type set (uint04 index, const t_class &value)
 Sets an enum value at the given row index by casting to uint04.
template<class t_class>
std::enable_if< IsVec< t_class >::value >::type set (uint04 index, const t_class &value)
 Sets a vector value at the given row index.
template<class t_class>
std::enable_if<!ObjectInfo< t_class >::Enum >::type set (uint04 index, const t_class &value)
 Sets the value at the given row index from a non-enum type.
template<class t_pointer_type>
void set (uint04 index, const t_pointer_type *pointer)
 Sets the value at the given row index from a const pointer, stored as uint08.
void set (uint04 index, const Time &time)
 Sets a Time value at the given row index by storing its underlying uint08.
void set (uint04 index, const TranslatedString &value)
 Sets a TranslatedString value at the given row index.
template<uint01 t_dims, class t_type>
void set (uint04 index, const Triangle< t_dims, t_type > &value)
 Sets a Triangle value at the given row index by writing each vertex component into contiguous vector positions.
virtual void set (uint04 index, const UUID &value)
 Sets a UUID value at the given row index.
void set (uint04 index, const Vector< 32, bool > &value)
 Sets a 32-element boolean vector at the given row index.
template<class t_pointer_type>
void set (uint04 index, t_pointer_type *pointer)
 Sets the value at the given row index from a non-const pointer, stored as uint08.
template<class t_type>
void setAll (uint04 to_location, uint04 from_location, uint04 size, const TableColumn &from_column)
 Copies a range of values from another column into this column using a specific type.
virtual void setAll (uint04 to_location, uint04 from_location, uint04 size, const TableColumn &from_column)
 Copies a range of values from another column into this column.
void setCompressionMode (CompressionMode compression_mode)
 Sets the compression mode used when serializing this column.
template<class t_type>
std::enable_if<!std::is_enum< t_type >::value >::type setDefault (const t_type &value)
 Sets the default value for new rows from a non-enum value.
template<class t_type>
std::enable_if< std::is_enum< t_type >::value >::type setDefault (const t_type &value)
 Sets the default value for new rows from an enum value by casting to uint04.
void setLabel (const StringView &label)
 Sets the label (name) for this column.
void setReferenceTable (const UUID table)
 Sets the UUID of a table that this column references.
virtual void setRowSize (uint04, uint04)
 Sets the size of an array-typed row at the given index.
template<uint01 t_dims, class t_type>
void setVector (uint04 index, const Vector< t_dims, t_type > &value)
 Sets a vector value at the given row index, writing each component individually.
void update (const TableChange &change)
 Records a change to this column and updates the modification time.
void updateAll ()
 Marks the entire column as updated by recording a change spanning all rows.
virtual void updateFrom (const TableColumn &column)
 Updates this column's data from another column, typically used for synchronization or mirroring.

Additional Inherited Members

Protected Member Functions inherited from TableColumnBuffer< Vector< t_dims, t_type > >
decltype(auto) defaultValue ()
 Returns a reference to the default value.
decltype(auto) pullValue (uint04 index)
 Returns a reference to the value at the given row index.
Protected Attributes inherited from TableColumnBuffer< Vector< t_dims, t_type > >
Buffer< t_type > m_buffer
 The underlying data buffer storing all row values.
Buffer< uint01m_compressed_data
 Temporary storage for compressed column data.
t_type m_default_value
 The default value assigned to new rows.
bool m_has_been_read
 Whether data has been read from file and needs finalization.
Protected Attributes inherited from TableColumn
Buffer< TableChangem_changes
 The list of recorded changes for change-tracking and synchronization.
CompressionMode m_compression_mode = CompressionMode::e_default_compression
 The compression mode used when serializing this column.
String m_label
 The display name or identifier for this column.
Time m_modified_time
 The timestamp of the most recent modification to this column.
UUID m_reference_table = Constant<UUID>::Invalid
 UUID of a table this column references, or Invalid if none.

Detailed Description

template<uint01 t_dims, class t_type>
class TableVectorType< t_dims, t_type >

A TableColumnBuffer that also has some number of defined rows stored in a Vector object Allows for virtual memory access with the caller not needing to know how the data itself is stored.


Definition at line 490 of file TableColumnType.h.

Constructor & Destructor Documentation

◆ TableVectorType() [1/2]

template<uint01 t_dims, class t_type>
TableVectorType< t_dims, t_type >::TableVectorType ( const StringView & label)
inline

Constructs a TableVectorType with the given column label.

Parameters
[in]labelThe name/label for this column.

Definition at line 501 of file TableColumnType.h.

Referenced by TableMatrixType< T, t_cols, t_rows >::TableMatrixType(), and TableVectorType< 1, T >::getSelected().

◆ TableVectorType() [2/2]

template<uint01 t_dims, class t_type>
TableVectorType< t_dims, t_type >::TableVectorType ( const Buffer< Vector< t_dims, t_type > > & buffer,
const StringView & label )
inline

Constructs a TableVectorType from a pre-populated buffer of vectors.

Parameters
[in]bufferThe initial data buffer.
[in]labelThe name/label for this column.

Definition at line 507 of file TableColumnType.h.

Member Function Documentation

◆ get() [1/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
bool & value ) const
inlineoverridevirtual

Gets a scalar value from the first component of the vector at the given row. Both branches of the if constexpr produce the same result for all dimensions.

Note
Possible redundancy: the if-constexpr branches are identical for all overloads below.

Implements TableColumn.

Definition at line 568 of file TableColumnType.h.

◆ get() [2/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
Bounds< 3, fltp04 > & bounds ) const
inlineoverridevirtual

Retrieves a 3D fltp04 bounding box from the given row index.

Parameters
[in]indexThe row index.
[out]boundsThe bounds to populate.

Reimplemented from TableColumn.

Definition at line 768 of file TableColumnType.h.

◆ get() [3/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
Bounds< 3, fltp08 > & b ) const
inlineoverridevirtual

Gets or sets a 3D Bounds value stored as a 6-component vector at the given row.

      Requires t_dims == 6. Uses memcpy for type-matched cases, otherwise converts. 

Reimplemented from TableColumn.

Definition at line 754 of file TableColumnType.h.

◆ get() [4/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
fltp04 & value ) const
inlineoverridevirtual

Retrieves a fltp04 value at the given row index.

Parameters
[in]indexThe row index.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 577 of file TableColumnType.h.

◆ get() [5/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
fltp08 & value ) const
inlineoverridevirtual

Retrieves a fltp08 value at the given row index.

Parameters
[in]indexThe row index.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 578 of file TableColumnType.h.

◆ get() [6/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
sint01 & value ) const
inlineoverridevirtual

Retrieves a sint01 value at the given row index.

Parameters
[in]indexThe row index.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 573 of file TableColumnType.h.

◆ get() [7/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
sint02 & value ) const
inlineoverridevirtual

Retrieves a sint02 value at the given row index.

Parameters
[in]indexThe row index.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 574 of file TableColumnType.h.

◆ get() [8/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
sint04 & value ) const
inlineoverridevirtual

Retrieves a sint04 value at the given row index.

Parameters
[in]indexThe row index.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 575 of file TableColumnType.h.

◆ get() [9/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
sint08 & value ) const
inlineoverridevirtual

Retrieves a sint08 value at the given row index.

Parameters
[in]indexThe row index.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 576 of file TableColumnType.h.

◆ get() [10/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
StringAllocatingView & value ) const
inlineoverridevirtual

Retrieves a string value at the given row index as a StringAllocatingView.

Parameters
[in]indexThe row index.
[out]valueThe retrieved string value.

Implements TableColumn.

Reimplemented in TableMatrixType< T, t_cols, t_rows >.

Definition at line 579 of file TableColumnType.h.

◆ get() [11/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
uint01 & value ) const
inlineoverridevirtual

Retrieves a uint01 value at the given row index.

Parameters
[in]indexThe row index.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 569 of file TableColumnType.h.

◆ get() [12/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
uint02 & value ) const
inlineoverridevirtual

Retrieves a uint02 value at the given row index.

Parameters
[in]indexThe row index.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 570 of file TableColumnType.h.

◆ get() [13/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
uint04 & value ) const
inlineoverridevirtual

Retrieves a uint04 value at the given row index.

Parameters
[in]indexThe row index.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 571 of file TableColumnType.h.

◆ get() [14/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
uint04 vector_pos,
fltp04 & value ) const
inlineoverridevirtual

Retrieves a fltp04 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 560 of file TableColumnType.h.

◆ get() [15/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
uint04 vector_pos,
fltp08 & value ) const
inlineoverridevirtual

Retrieves a fltp08 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 561 of file TableColumnType.h.

◆ get() [16/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
uint04 vector_pos,
sint01 & value ) const
inlineoverridevirtual

Retrieves a sint01 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 556 of file TableColumnType.h.

◆ get() [17/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
uint04 vector_pos,
sint02 & value ) const
inlineoverridevirtual

Retrieves a sint02 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 557 of file TableColumnType.h.

◆ get() [18/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
uint04 vector_pos,
sint04 & value ) const
inlineoverridevirtual

Retrieves a sint04 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 558 of file TableColumnType.h.

◆ get() [19/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
uint04 vector_pos,
sint08 & value ) const
inlineoverridevirtual

Retrieves a sint08 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 559 of file TableColumnType.h.

◆ get() [20/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
uint04 vector_pos,
StringAllocatingView & value ) const
inlineoverridevirtual

Retrieves a string value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[out]valueThe retrieved string value.

Implements TableColumn.

Definition at line 562 of file TableColumnType.h.

◆ get() [21/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
uint04 vector_pos,
uint01 & value ) const
inlineoverridevirtual

Retrieves a uint01 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 552 of file TableColumnType.h.

◆ get() [22/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
uint04 vector_pos,
uint02 & value ) const
inlineoverridevirtual

Retrieves a uint02 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 553 of file TableColumnType.h.

◆ get() [23/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
uint04 vector_pos,
uint04 & value ) const
inlineoverridevirtual

Retrieves a uint04 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 554 of file TableColumnType.h.

◆ get() [24/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
uint04 vector_pos,
uint08 & value ) const
inlineoverridevirtual

Retrieves a uint08 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 555 of file TableColumnType.h.

◆ get() [25/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::get ( uint04 index,
uint08 & value ) const
inlineoverridevirtual

Retrieves a uint08 value at the given row index.

Parameters
[in]indexThe row index.
[out]valueThe retrieved value.

Implements TableColumn.

Definition at line 572 of file TableColumnType.h.

◆ getRowSize()

template<uint01 t_dims, class t_type>
virtual uint04 TableVectorType< t_dims, t_type >::getRowSize ( uint04 ) const
inlineoverridevirtual

Returns the number of components per row (the vector dimension count).

Returns
The template parameter t_dims.

Reimplemented from TableColumn.

Reimplemented in TableVectorType< 1, UUID >.

Definition at line 513 of file TableColumnType.h.

◆ getSelected()

template<uint01 t_dims, class t_type>
TableVectorType< t_dims, t_type > * TableVectorType< t_dims, t_type >::getSelected ( const Buffer< bool > & selected_indices) const
inlineoverridevirtual

Creates a new column containing only the rows marked true in the selection mask.

Parameters
[in]selected_indicesA boolean buffer where true means the row is included.
Returns
A newly allocated TableVectorType containing the selected rows. Caller owns the memory.

Implements TableColumn.

Definition at line 624 of file TableColumnType.h.

◆ getVector() [1/3]

template<uint01 t_dims, class t_type>
void TableVectorType< t_dims, t_type >::getVector ( uint04 index,
Vector< 2, uint04 > & vector ) const
inlineoverridevirtual

Retrieves a 2D uint04 vector from the given row index.

Parameters
[in]indexThe row index.
[out]vectorThe vector to populate.

Reimplemented from TableColumn.

Definition at line 602 of file TableColumnType.h.

◆ getVector() [2/3]

template<uint01 t_dims, class t_type>
void TableVectorType< t_dims, t_type >::getVector ( uint04 index,
Vector< 3, fltp08 > & vector ) const
inlineoverridevirtual

Retrieves a 3D fltp08 vector from the given row index.

Parameters
[in]indexThe row index.
[out]vectorThe vector to populate.

Reimplemented from TableColumn.

Definition at line 592 of file TableColumnType.h.

◆ getVector() [3/3]

template<uint01 t_dims, class t_type>
void TableVectorType< t_dims, t_type >::getVector ( uint04 index,
Vector< 3, uint04 > & vector ) const
inlineoverridevirtual

Retrieves a 3D uint04 vector from the given row index.

Parameters
[in]indexThe row index.
[out]vectorThe vector to populate.

Reimplemented from TableColumn.

Definition at line 597 of file TableColumnType.h.

◆ insertIndices()

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::insertIndices ( uint04 location,
uint04 size )
inlineoverridevirtual

Adjusts index references stored in this column after rows are inserted elsewhere.

Any stored value that is an index >= location gets incremented by size.

Parameters
[in]locationThe insertion point in the referenced table.
[in]sizeThe number of indices inserted.

Implements TableColumn.

Reimplemented in TableVectorType< 1, UUID >.

Definition at line 644 of file TableColumnType.h.

◆ removeIndices() [1/2]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::removeIndices ( const Buffer< uint04 > & offset_lookup_list)
inlineoverridevirtual

Remaps index references using a lookup table after index removal.

Each stored index is replaced with its new value from the lookup list.

Parameters
[in]offset_lookup_listMaps old index values to their new positions.
Note
There is a double semicolon on the line declaring new_index (cosmetic typo).

Implements TableColumn.

Definition at line 729 of file TableColumnType.h.

◆ removeIndices() [2/2]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::removeIndices ( uint04 location,
uint04 size )
inlineoverridevirtual

Adjusts index references stored in this column after rows are removed elsewhere.

Values referencing the removed range are invalidated. Values referencing indices beyond the removed range are decremented by size.

Parameters
[in]locationThe start of the removed range in the referenced table.
[in]sizeThe number of indices removed.

Implements TableColumn.

Reimplemented in TableVectorType< 1, UUID >.

Definition at line 674 of file TableColumnType.h.

◆ set() [1/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
const Bounds< 3, fltp04 > & b )
inlineoverridevirtual
Note
Typo in assertion message: says "gotten" but this is a set operation.

Reimplemented from TableColumn.

Definition at line 797 of file TableColumnType.h.

◆ set() [2/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
const Bounds< 3, fltp08 > & b )
inlineoverridevirtual
Note
Typo in assertion message: says "gotten" but this is a set operation.

Reimplemented from TableColumn.

Definition at line 783 of file TableColumnType.h.

◆ set() [3/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
const StringView & value )
inlineoverridevirtual

Sets a string value at the given row index.

Parameters
[in]indexThe row index.
[in]valueThe string view to store.

Implements TableColumn.

Reimplemented in TableMatrixType< T, t_cols, t_rows >.

Definition at line 545 of file TableColumnType.h.

◆ set() [4/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
fltp04 value )
inlineoverridevirtual

Sets a fltp04 value at the given row index.

Parameters
[in]indexThe row index.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 543 of file TableColumnType.h.

◆ set() [5/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
fltp08 value )
inlineoverridevirtual

Sets a fltp08 value at the given row index.

Parameters
[in]indexThe row index.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 544 of file TableColumnType.h.

◆ set() [6/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
RGBColor value )
inlineoverridevirtual

Sets an RGBColor value at the given row index.

Parameters
[in]indexThe row index.
[in]valueThe color value to store.

Implements TableColumn.

Definition at line 546 of file TableColumnType.h.

◆ set() [7/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
sint01 value )
inlineoverridevirtual

Sets a sint01 value at the given row index.

Parameters
[in]indexThe row index.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 539 of file TableColumnType.h.

◆ set() [8/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
sint02 value )
inlineoverridevirtual

Sets a sint02 value at the given row index.

Parameters
[in]indexThe row index.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 540 of file TableColumnType.h.

◆ set() [9/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
sint04 value )
inlineoverridevirtual

Sets a sint04 value at the given row index.

Parameters
[in]indexThe row index.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 541 of file TableColumnType.h.

◆ set() [10/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
sint08 value )
inlineoverridevirtual

Sets a sint08 value at the given row index.

Parameters
[in]indexThe row index.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 542 of file TableColumnType.h.

◆ set() [11/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
uint01 value )
inlineoverridevirtual

Sets a uint01 value at the given row index.

Parameters
[in]indexThe row index.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 535 of file TableColumnType.h.

◆ set() [12/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
uint02 value )
inlineoverridevirtual

Sets a uint02 value at the given row index.

Parameters
[in]indexThe row index.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 536 of file TableColumnType.h.

◆ set() [13/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
uint04 value )
inlineoverridevirtual

Sets a uint04 value at the given row index.

Parameters
[in]indexThe row index.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 537 of file TableColumnType.h.

◆ set() [14/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
uint04 vector_pos,
const StringView & value )
inlineoverridevirtual

Sets a string value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[in]valueThe string view to store.

Implements TableColumn.

Definition at line 529 of file TableColumnType.h.

◆ set() [15/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
uint04 vector_pos,
fltp04 value )
inlineoverridevirtual

Sets a fltp04 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 526 of file TableColumnType.h.

◆ set() [16/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
uint04 vector_pos,
fltp08 value )
inlineoverridevirtual

Sets a fltp08 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 527 of file TableColumnType.h.

◆ set() [17/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
uint04 vector_pos,
sint01 value )
inlineoverridevirtual

Sets a sint01 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 522 of file TableColumnType.h.

◆ set() [18/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
uint04 vector_pos,
sint02 value )
inlineoverridevirtual

Sets a sint02 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 523 of file TableColumnType.h.

◆ set() [19/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
uint04 vector_pos,
sint04 value )
inlineoverridevirtual

Sets a sint04 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 524 of file TableColumnType.h.

◆ set() [20/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
uint04 vector_pos,
sint08 value )
inlineoverridevirtual

Sets a sint08 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 525 of file TableColumnType.h.

◆ set() [21/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
uint04 vector_pos,
uint01 value )
inlineoverridevirtual

Sets a uint01 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 518 of file TableColumnType.h.

◆ set() [22/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
uint04 vector_pos,
uint02 value )
inlineoverridevirtual

Sets a uint02 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 519 of file TableColumnType.h.

◆ set() [23/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
uint04 vector_pos,
uint04 value )
inlineoverridevirtual

Sets a uint04 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 520 of file TableColumnType.h.

◆ set() [24/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
uint04 vector_pos,
uint08 value )
inlineoverridevirtual

Sets a uint08 value at a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]vector_posThe component index within the vector.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 521 of file TableColumnType.h.

◆ set() [25/25]

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::set ( uint04 index,
uint08 value )
inlineoverridevirtual

Sets a uint08 value at the given row index.

Parameters
[in]indexThe row index.
[in]valueThe value to store.

Implements TableColumn.

Definition at line 538 of file TableColumnType.h.

◆ swapIndices()

template<uint01 t_dims, class t_type>
virtual void TableVectorType< t_dims, t_type >::swapIndices ( uint04 a,
uint04 b )
inlineoverridevirtual

Swaps all index references to a with b and vice versa throughout the column.

Parameters
[in]aThe first index value to swap.
[in]bThe second index value to swap.
Note
Possible bug: the condition IsValid(...) followed by continue means valid values are skipped and only invalid values are processed, which appears inverted. Compare with the intended logic in removeIndices where IsValid is checked before use.

Implements TableColumn.

Reimplemented in TableVectorType< 1, UUID >.

Definition at line 708 of file TableColumnType.h.

◆ tableHash()

template<uint01 t_dims, class t_type>
uint08 TableVectorType< t_dims, t_type >::tableHash ( ) const
inlineoverridevirtual

Computes a hash of the entire column data using FNV-like hashing.

Returns
A uint08 hash value representing the column contents.

Reimplemented from TableColumn.

Definition at line 610 of file TableColumnType.h.

◆ type()

template<uint01 t_dims, class t_type>
virtual TypeInfo TableVectorType< t_dims, t_type >::type ( ) const
inlineoverridevirtual

Returns TypeInfo describing the stored Vector type.

Returns
TypeInfo for Vector<t_dims, t_type>.

Reimplemented from TableColumnBuffer< Vector< t_dims, t_type > >.

Reimplemented in TableVectorType< 1, UUID >.

Definition at line 495 of file TableColumnType.h.


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