NDEVR
API Documentation
TableColumnabstract

A virtual storage type that is used with Table class to store data where the actual mechanism for storage can be abstracted away. More...

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

Public Member Functions

 TableColumn (const StringView &label)
 Constructs a TableColumn with the given label.
virtual ~TableColumn ()
 Virtual destructor.
virtual void addRow ()
 Appends a single default-initialized row at the end of the column.
virtual const void * begin () const =0
 Returns a const pointer to the beginning of the underlying raw data.
virtual void * begin ()=0
 Returns a mutable pointer to the beginning of the underlying raw data.
virtual bool beginsWith (uint04 index, const StringView &value, bool ignore_case) const =0
 Checks whether the stored string at the given row begins with the given prefix.
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 void compress (BinaryCompressionObject &object)=0
 Compresses the column data into the given compression object.
virtual bool contains (uint04 index, const StringView &value, bool ignore_case) const =0
 Checks whether the stored string at the given row contains the given substring.
virtual void copyRow (uint04 source, uint04 destination)=0
 Copies the value from one row to another within this column.
virtual void copyRows (uint04 source, uint04 destination, uint04 size)=0
 Copies a contiguous block of rows from one location to another within this column.
virtual const void * end () const =0
 Returns a const pointer to one past the end of the underlying raw data.
virtual void * end ()=0
 Returns a mutable pointer to one past the end of the underlying raw data.
virtual void finishMapFromFile (BinaryFileTableInfo &)
 Completes any deferred work after mapping from a binary file.
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.
virtual void get (uint04 index, bool &value) const =0
 Retrieves a bool value at the given row index.
virtual void get (uint04 index, Bounds< 3, fltp04 > &bounds) const
 Retrieves a 3D fltp04 bounding box from the given row index.
virtual void get (uint04 index, Bounds< 3, fltp08 > &bounds) const
 Retrieves a 3D fltp08 bounding box from 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, fltp04 &value) const =0
 Retrieves a fltp04 value at the given row index.
virtual void get (uint04 index, fltp08 &value) const =0
 Retrieves a fltp08 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.
virtual void get (uint04 index, RGBColor &value) const =0
 Retrieves an RGBColor value at the given row index.
virtual void get (uint04 index, sint01 &value) const =0
 Retrieves a sint01 value at the given row index.
virtual void get (uint04 index, sint02 &value) const =0
 Retrieves a sint02 value at the given row index.
virtual void get (uint04 index, sint04 &value) const =0
 Retrieves a sint04 value at the given row index.
virtual void get (uint04 index, sint08 &value) const =0
 Retrieves a sint08 value at the given row index.
virtual void get (uint04 index, StringAllocatingView &value) const =0
 Retrieves a string value at the given row index as a StringAllocatingView.
virtual void get (uint04 index, StringView &value) const =0
 Retrieves a string value at the given row index as a StringView.
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.
virtual void get (uint04 index, uint01 &value) const =0
 Retrieves a uint01 value at the given row index.
virtual void get (uint04 index, uint02 &value) const =0
 Retrieves a uint02 value at the given row index.
virtual void get (uint04 index, uint04 &value) const =0
 Retrieves a uint04 value at the given row index.
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, uint04 vector_pos, bool &value) const =0
 Retrieves a bool value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, fltp04 &value) const =0
 Retrieves a fltp04 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, fltp08 &value) const =0
 Retrieves a fltp08 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, sint01 &value) const =0
 Retrieves a sint01 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, sint02 &value) const =0
 Retrieves a sint02 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, sint04 &value) const =0
 Retrieves a sint04 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, sint08 &value) const =0
 Retrieves a sint08 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, StringAllocatingView &value) const =0
 Retrieves a string value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, uint01 &value) const =0
 Retrieves a uint01 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, uint02 &value) const =0
 Retrieves a uint02 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, uint04 &value) const =0
 Retrieves a uint04 value at a specific vector position within a row.
virtual void get (uint04 index, uint04 vector_pos, uint08 &value) const =0
 Retrieves a uint08 value at a specific vector position within a row.
virtual void get (uint04 index, uint08 &value) const =0
 Retrieves a uint08 value at the given row index.
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.
virtual const StringAllocatingView getDefaultValue () const =0
 Returns the default value for new rows as a string representation.
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 uint04 getRowSize (uint04) const
 Returns the size of an array-typed row at the given index.
virtual TableColumngetSelected (const Buffer< bool > &selected_indices) const =0
 Creates a new TableColumn containing only the rows where the corresponding selected_indices entry is true.
virtual void getVector (uint04 index, Vector< 1, uint04 > &vector) const
 Retrieves a 1D uint04 vector from the given row index.
virtual void getVector (uint04 index, Vector< 2, uint04 > &vector) const
 Retrieves a 2D uint04 vector from the given row index.
virtual void getVector (uint04 index, Vector< 3, fltp04 > &vector) const
 Retrieves a 3D fltp04 vector from the given row index.
virtual void getVector (uint04 index, Vector< 3, fltp08 > &vector) const
 Retrieves a 3D fltp08 vector from the given row index.
virtual void getVector (uint04 index, Vector< 3, uint04 > &vector) const
 Retrieves a 3D 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.
virtual void insert (uint04 index)=0
 Inserts a default-initialized row at the given index, shifting subsequent rows.
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.
virtual void insertIndices (uint04 location, uint04 size)=0
 Inserts a contiguous block of index entries at the given location.
virtual void insertRows (uint04 location, uint04 size)=0
 Inserts a contiguous block of default-initialized rows at the given location.
virtual bool isSame (uint04 index, const StringView &value) const =0
 Checks whether the stored string at the given row is exactly equal to the given value.
const Stringlabel () const
 Returns the label (name) of this column.
virtual void mapFromFile (BinaryFileTableInfo &)
 Maps this column from a binary file for deserialization.
virtual void mapToFile (BinaryFileTableInfo &, BinaryCompressionObject &)
 Maps this column to a binary file using compression.
virtual void mapToFile (BinaryFileTableInfo &, int)
 Maps this column to a binary file for serialization.
UUID referenceTable () const
 Returns the UUID of a table that this column references, if any.
virtual void removeIndices (const Buffer< uint04 > &offset_lookup_list)=0
 Removes index entries using an offset lookup list.
virtual void removeIndices (uint04 location, uint04 size)=0
 Removes a contiguous block of index entries at the given location.
virtual void removeRow (uint04 index)=0
 Removes a single row at the given index.
virtual void removeRows (const Buffer< uint04 > &sorted_remove_indices)=0
 Removes multiple rows identified by a sorted list of indices.
virtual void removeRows (uint04 index, uint04 size)=0
 Removes a contiguous block of rows starting at the given index.
virtual void removeRows (uint04 offset, const Buffer< bool > &indices)=0
 Removes rows indicated by a boolean mask starting from a given offset.
virtual void resetRow (uint04)
 Resets a row to its default state.
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.
virtual void set (uint04 index, bool value)=0
 Sets a bool value at the given row index.
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.
virtual void set (uint04 index, const Bounds< 3, fltp04 > &bounds)
 Sets a 3D fltp04 bounding box at the given row index.
virtual void set (uint04 index, const Bounds< 3, fltp08 > &bounds)
 Sets a 3D fltp08 bounding box at the given row index.
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.
virtual void set (uint04 index, const StringView &value)=0
 Sets a string 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 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.
virtual void set (uint04 index, fltp04 value)=0
 Sets a fltp04 value at the given row index.
virtual void set (uint04 index, fltp08 value)=0
 Sets a fltp08 value at the given row index.
virtual void set (uint04 index, RGBColor value)=0
 Sets an RGBColor value at the given row index.
virtual void set (uint04 index, sint01 value)=0
 Sets a sint01 value at the given row index.
virtual void set (uint04 index, sint02 value)=0
 Sets a sint02 value at the given row index.
virtual void set (uint04 index, sint04 value)=0
 Sets a sint04 value at the given row index.
virtual void set (uint04 index, sint08 value)=0
 Sets a sint08 value 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.
virtual void set (uint04 index, uint01 value)=0
 Sets a uint01 value at the given row index.
virtual void set (uint04 index, uint02 value)=0
 Sets a uint02 value at the given row index.
virtual void set (uint04 index, uint04 value)=0
 Sets a uint04 value at the given row index.
virtual void set (uint04 index, uint04 vector_pos, bool value)=0
 Sets a bool value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, const StringView &value)=0
 Sets a string value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, fltp04 value)=0
 Sets a fltp04 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, fltp08 value)=0
 Sets a fltp08 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, sint01 value)=0
 Sets a sint01 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, sint02 value)=0
 Sets a sint02 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, sint04 value)=0
 Sets a sint04 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, sint08 value)=0
 Sets a sint08 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, uint01 value)=0
 Sets a uint01 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, uint02 value)=0
 Sets a uint02 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, uint04 value)=0
 Sets a uint04 value at a specific vector position within a row.
virtual void set (uint04 index, uint04 vector_pos, uint08 value)=0
 Sets a uint08 value at a specific vector position within a row.
virtual void set (uint04 index, uint08 value)=0
 Sets a uint08 value at the given row index.
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.
virtual void setDefaultValue (const StringAllocatingView &value)=0
 Sets the default value for new rows from a string representation.
virtual void setDefaultValueFrom (const TableColumn &column)=0
 Copies the default value from another column.
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.
virtual void setSize (uint04 size)=0
 Sets the number of rows in this column.
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.
virtual uint04 size () const =0
 Returns the number of rows in this column.
virtual void swap (uint04 a, uint04 b)=0
 Swaps the values at two row indices.
virtual void swapIndices (uint04 a, uint04 b)=0
 Swaps two index entries.
virtual TypeInfo type () const =0
 Returns the TypeInfo describing the data type stored in this column.
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.

Protected Attributes

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.

Private Member Functions

virtual uint08 tableHash () const
 Computes a hash of the column's raw data using a variant of the FNV hash algorithm.

Detailed Description

A virtual storage type that is used with Table class to store data where the actual mechanism for storage can be abstracted away.


See also
Table, TableColumnBuffer, TableVectorType

Definition at line 85 of file TableColumn.h.

Constructor & Destructor Documentation

◆ TableColumn()

Member Function Documentation

◆ begin() [1/2]

virtual const void * TableColumn::begin ( ) const
pure virtual

Returns a const pointer to the beginning of the underlying raw data.

Returns
A const void pointer to the start of the data, or nullptr if not available.

Implemented in GraphicsBuffer, and TableColumnBuffer< t_type >.

◆ begin() [2/2]

virtual void * TableColumn::begin ( )
pure virtual

Returns a mutable pointer to the beginning of the underlying raw data.

Returns
A void pointer to the start of the data, or nullptr if not available.

Implemented in GraphicsBuffer, TableColumnBuffer< t_type >, TableColumnBuffer< Buffer< t_type > >, TableColumnBuffer< RGBColor >, TableColumnBuffer< String >, TableColumnBuffer< Vector< t_dims, fltp08 > >, TableColumnBuffer< Vector< t_dims, t_type > >, and TableColumnBuffer< Vector< t_dims, uint01 > >.

Referenced by getAll(), set(), setAll(), and tableHash().

◆ beginsWith()

virtual bool TableColumn::beginsWith ( uint04 index,
const StringView & value,
bool ignore_case ) const
pure virtual

Checks whether the stored string at the given row begins with the given prefix.

Parameters
[in]indexThe row index.
[in]valueThe prefix to check for.
[in]ignore_caseWhether to perform a case-insensitive comparison.
Returns
True if the stored string begins with the given value.

Implemented in GraphicsBuffer, TableColumnBuffer< t_type >, TableColumnBuffer< Buffer< t_type > >, TableColumnBuffer< RGBColor >, TableColumnBuffer< String >, TableColumnBuffer< Vector< t_dims, fltp08 > >, TableColumnBuffer< Vector< t_dims, t_type > >, TableColumnBuffer< Vector< t_dims, uint01 > >, and TableColumnString.

◆ changes()

const Buffer< TableChange > & TableColumn::changes ( ) const
inline

Returns the list of all recorded changes for this column.

Returns
A const reference to the buffer of TableChange records.

Definition at line 1120 of file TableColumn.h.

References m_changes.

◆ changesSince() [1/2]

Buffer< TableChange > TableColumn::changesSince ( const Time & time) const

Returns all changes recorded since the given time.

Parameters
[in]timeThe cutoff time.
Returns
A buffer of TableChange records that occurred after the given time.

◆ changesSince() [2/2]

Buffer< TableChange > TableColumn::changesSince ( const Time & time,
const Bounds< 1, uint04 > & range ) const

Returns all changes recorded since the given time within a specific row range.

Parameters
[in]timeThe cutoff time.
[in]rangeThe row range to filter by.
Returns
A buffer of matching TableChange records.

◆ compress()

virtual void TableColumn::compress ( BinaryCompressionObject & object)
pure virtual

◆ contains()

virtual bool TableColumn::contains ( uint04 index,
const StringView & value,
bool ignore_case ) const
pure virtual

Checks whether the stored string at the given row contains the given substring.

Parameters
[in]indexThe row index.
[in]valueThe substring to search for.
[in]ignore_caseWhether to perform a case-insensitive comparison.
Returns
True if the stored string contains the given value.

Implemented in GraphicsBuffer, TableColumnBuffer< t_type >, TableColumnBuffer< Buffer< t_type > >, TableColumnBuffer< RGBColor >, TableColumnBuffer< String >, TableColumnBuffer< Vector< t_dims, fltp08 > >, TableColumnBuffer< Vector< t_dims, t_type > >, TableColumnBuffer< Vector< t_dims, uint01 > >, and TableColumnString.

◆ copyRow()

virtual void TableColumn::copyRow ( uint04 source,
uint04 destination )
pure virtual

Copies the value from one row to another within this column.

Parameters
[in]sourceThe source row index.
[in]destinationThe destination row index.

Implemented in GraphicsBuffer, TableColumnBuffer< t_type >, TableColumnBuffer< Buffer< t_type > >, TableColumnBuffer< RGBColor >, TableColumnBuffer< String >, TableColumnBuffer< Vector< t_dims, fltp08 > >, TableColumnBuffer< Vector< t_dims, t_type > >, and TableColumnBuffer< Vector< t_dims, uint01 > >.

◆ copyRows()

virtual void TableColumn::copyRows ( uint04 source,
uint04 destination,
uint04 size )
pure virtual

Copies a contiguous block of rows from one location to another within this column.

Parameters
[in]sourceThe starting source row index.
[in]destinationThe starting destination row index.
[in]sizeThe number of rows to copy.

Implemented in GraphicsBuffer, TableColumnBuffer< t_type >, TableColumnBuffer< Buffer< t_type > >, TableColumnBuffer< RGBColor >, TableColumnBuffer< String >, TableColumnBuffer< Vector< t_dims, fltp08 > >, TableColumnBuffer< Vector< t_dims, t_type > >, and TableColumnBuffer< Vector< t_dims, uint01 > >.

References size().

◆ end() [1/2]

virtual const void * TableColumn::end ( ) const
pure virtual

Returns a const pointer to one past the end of the underlying raw data.

Returns
A const void pointer to one past the end of the data, or nullptr if not available.

Implemented in GraphicsBuffer, and TableColumnBuffer< t_type >.

◆ end() [2/2]

virtual void * TableColumn::end ( )
pure virtual

Returns a mutable pointer to one past the end of the underlying raw data.

Returns
A void pointer to one past the end of the data, or nullptr if not available.

Implemented in GraphicsBuffer, TableColumnBuffer< t_type >, TableColumnBuffer< Buffer< t_type > >, TableColumnBuffer< RGBColor >, TableColumnBuffer< String >, TableColumnBuffer< Vector< t_dims, fltp08 > >, TableColumnBuffer< Vector< t_dims, t_type > >, and TableColumnBuffer< Vector< t_dims, uint01 > >.

Referenced by tableHash().

◆ finishMapFromFile()

virtual void TableColumn::finishMapFromFile ( BinaryFileTableInfo & )
inlinevirtual

Completes any deferred work after mapping from a binary file.

Parameters
[in]infoThe binary file table info structure.

Reimplemented in TableColumnBuffer< t_type >, TableColumnBuffer< Buffer< t_type > >, TableColumnBuffer< RGBColor >, TableColumnBuffer< String >, TableColumnBuffer< Vector< t_dims, fltp08 > >, TableColumnBuffer< Vector< t_dims, t_type > >, and TableColumnBuffer< Vector< t_dims, uint01 > >.

Definition at line 392 of file TableColumn.h.

◆ get() [1/45]

template<class t_class>
t_class TableColumn::get ( uint04 index) const
inline

Convenience template that returns a value by type from the given row index.

Parameters
[in]indexThe row index.
Returns
The value stored at the given index, converted to t_class.

Definition at line 911 of file TableColumn.h.

References get().

◆ get() [2/45]

void TableColumn::get ( uint04 index,
BitFlag & bitflag ) const
inline

Retrieves a BitFlag value at the given row index.

Parameters
[in]indexThe row index.
[out]bitflagThe BitFlag to populate from the stored uint01 value.

Definition at line 563 of file TableColumn.h.

References get().

◆ get() [3/45]

◆ get() [4/45]

virtual void TableColumn::get ( uint04 index,
Bounds< 3, fltp04 > & bounds ) const
virtual

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

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

Reimplemented in TableVectorType< t_dims, t_type >, TableVectorType< 1, T >, TableVectorType< 1, uint01 >, TableVectorType< 1, uint02 >, TableVectorType< 1, uint04 >, TableVectorType< 1, uint08 >, TableVectorType< 2 *t_dims, T >, and TableVectorType< t_dims, T >.

◆ get() [5/45]

virtual void TableColumn::get ( uint04 index,
Bounds< 3, fltp08 > & bounds ) const
virtual

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

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

Reimplemented in TableVectorType< t_dims, t_type >, TableVectorType< 1, T >, TableVectorType< 1, uint01 >, TableVectorType< 1, uint02 >, TableVectorType< 1, uint04 >, TableVectorType< 1, uint08 >, TableVectorType< 2 *t_dims, T >, and TableVectorType< t_dims, T >.

◆ get() [6/45]

template<uint01 t_dims, class t_type>
void TableColumn::get ( uint04 index,
Bounds< t_dims, t_type > & bounds ) const
inline

Retrieves a Bounds value at the given row index by reading min and max components from contiguous vector positions.

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

Definition at line 886 of file TableColumn.h.

References get().

◆ get() [7/45]

void TableColumn::get ( uint04 index,
File & file ) const
inline

Retrieves a File value at the given row index.

Parameters
[in]indexThe row index.
[out]fileThe file to populate from the stored string.

Definition at line 829 of file TableColumn.h.

References file, and get().

◆ get() [8/45]

◆ get() [9/45]

◆ get() [10/45]

virtual void TableColumn::get ( uint04 index,
Matrix< fltp04 > & transform ) const
virtual

Retrieves a 4x4 fltp04 matrix from the given row index.

Parameters
[in]indexThe row index.
[out]transformThe matrix to populate.

Reimplemented in TableMatrixType< t_type, t_cols, t_rows >, and TableMatrixType< T, t_cols, t_rows >.

◆ get() [11/45]

virtual void TableColumn::get ( uint04 index,
Matrix< fltp08 > & transform ) const
virtual

Retrieves a 4x4 fltp08 matrix from the given row index.

Parameters
[in]indexThe row index.
[out]transformThe matrix to populate.

Reimplemented in TableMatrixType< t_type, t_cols, t_rows >, and TableMatrixType< T, t_cols, t_rows >.

◆ get() [12/45]

template<class t_type, uint01 t_col, uint01 t_row>
void TableColumn::get ( uint04 index,
Matrix< t_type, t_col, t_row > & matrix ) const
inline

Retrieves a generic matrix from the given row index by reading each element from contiguous vector positions in column-major order.

Parameters
[in]indexThe row index.
[out]matrixThe matrix to populate.

Definition at line 819 of file TableColumn.h.

References get().

◆ get() [13/45]

◆ get() [14/45]

◆ get() [15/45]

◆ get() [16/45]

◆ get() [17/45]

◆ get() [18/45]

◆ get() [19/45]

◆ get() [20/45]

template<class t_class>
std::enable_if< ObjectInfo< t_class >::Enum >::type TableColumn::get ( uint04 index,
t_class & enum_value ) const
inline

Retrieves an enum value at the given row index by reading a stored uint04.

Parameters
[in]indexThe row index.
[out]enum_valueThe enum to populate.
Note
SFINAE-enabled: only participates when t_class is an enum type.

Definition at line 597 of file TableColumn.h.

References cast(), get(), and type().

◆ get() [21/45]

template<class t_class>
std::enable_if< IsVec< t_class >::value &&t_class::NumberOfDimensions()!=1 >::type TableColumn::get ( uint04 index,
t_class & vector ) const
inline

Retrieves a multi-dimensional vector value at the given row index.

Parameters
[in]indexThe row index.
[out]vectorThe vector to populate.
Note
SFINAE-enabled: only participates for vector types with more than 1 dimension.

Definition at line 587 of file TableColumn.h.

References getVector(), and type().

◆ get() [22/45]

template<class t_class>
std::enable_if< std::is_pointer< t_class >::value >::type TableColumn::get ( uint04 index,
t_class & vector ) const
inline

Retrieves a pointer value at the given row index by reading a stored uint08.

Parameters
[in]indexThe row index.
[out]vectorThe pointer to populate.
Note
SFINAE-enabled: only participates when t_class is a pointer type.

Definition at line 575 of file TableColumn.h.

References get(), and type().

◆ get() [23/45]

void TableColumn::get ( uint04 index,
Time & time ) const
inline

Retrieves a Time value at the given row index.

Parameters
[in]indexThe row index.
[out]timeThe time to populate from the stored uint08.

Definition at line 848 of file TableColumn.h.

References get().

◆ get() [24/45]

void TableColumn::get ( uint04 index,
TranslatedString & string ) const
inline

Retrieves a TranslatedString value at the given row index.

Parameters
[in]indexThe row index.
[out]stringThe translated string to populate.

Definition at line 862 of file TableColumn.h.

References get().

◆ get() [25/45]

template<uint01 t_dims, class t_type>
void TableColumn::get ( uint04 index,
Triangle< t_dims, t_type > & tri ) const
inline

Retrieves a Triangle value at the given row index by reading vertex components from contiguous vector positions.

Parameters
[in]indexThe row index.
[out]triThe triangle to populate.
Note
Potential bug: inner loop iterates over 3 * t_dims rather than t_dims, which differs from the set() counterpart that uses t_dims for the inner loop.

Definition at line 900 of file TableColumn.h.

References get().

◆ get() [26/45]

◆ get() [27/45]

◆ get() [28/45]

◆ get() [29/45]

template<class t_class>
t_class TableColumn::get ( uint04 index,
uint04 sub_index ) const
inline

Convenience template that returns a value by type from a specific vector position within a row.

Parameters
[in]indexThe row index.
[in]sub_indexThe component index within the vector.
Returns
The value stored at the given position, converted to t_class.

Definition at line 924 of file TableColumn.h.

References get().

◆ get() [30/45]

◆ get() [31/45]

virtual void TableColumn::get ( uint04 index,
uint04 vector_pos,
fltp04 & value ) const
pure virtual

◆ get() [32/45]

virtual void TableColumn::get ( uint04 index,
uint04 vector_pos,
fltp08 & value ) const
pure virtual

◆ get() [33/45]

virtual void TableColumn::get ( uint04 index,
uint04 vector_pos,
sint01 & value ) const
pure virtual

◆ get() [34/45]

virtual void TableColumn::get ( uint04 index,
uint04 vector_pos,
sint02 & value ) const
pure virtual

◆ get() [35/45]

virtual void TableColumn::get ( uint04 index,
uint04 vector_pos,
sint04 & value ) const
pure virtual

◆ get() [36/45]

virtual void TableColumn::get ( uint04 index,
uint04 vector_pos,
sint08 & value ) const
pure virtual

◆ get() [37/45]

virtual void TableColumn::get ( uint04 index,
uint04 vector_pos,
StringAllocatingView & value ) const
pure virtual

◆ get() [38/45]

virtual void TableColumn::get ( uint04 index,
uint04 vector_pos,
uint01 & value ) const
pure virtual

◆ get() [39/45]

virtual void TableColumn::get ( uint04 index,
uint04 vector_pos,
uint02 & value ) const
pure virtual

◆ get() [40/45]

virtual void TableColumn::get ( uint04 index,
uint04 vector_pos,
uint04 & value ) const
pure virtual

◆ get() [41/45]

virtual void TableColumn::get ( uint04 index,
uint04 vector_pos,
uint08 & value ) const
pure virtual

◆ get() [42/45]

◆ get() [43/45]

virtual void TableColumn::get ( uint04 index,
UUID & vector ) const
inlinevirtual

Retrieves a UUID value at the given row index by reading 16 bytes.

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

Reimplemented in TableVectorType< 1, UUID >.

Definition at line 839 of file TableColumn.h.

References get().

◆ get() [44/45]

template<class t_class>
void TableColumn::get ( uint04 index,
Vector< 1, t_class > & vector ) const
inline

Retrieves a 1D vector value at the given row index by delegating to the scalar get.

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

Definition at line 555 of file TableColumn.h.

References get().

Referenced by PropertyInterface< NDPN >::Get(), PropertyInterface< NDPN >::Get(), PropertyInterface< NDPO >::Get(), PropertyInterface< NDPO >::Get(), get(), get(), get(), get(), get(), get(), get(), get(), get(), get(), get(), get(), get(), get(), getAll(), getIndexOf(), getVector(), Geometry::polygons(), Geometry::polylines(), setAll(), and Geometry::triangles().

◆ get() [45/45]

void TableColumn::get ( uint04 index,
Vector< 32, bool > & value ) const
inline

Retrieves a 32-element boolean vector at the given row index by reading the stored uint04 and reinterpreting its bits.

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

Definition at line 873 of file TableColumn.h.

References get(), and rcast().

◆ getAll()

template<class t_type>
Buffer< t_type > TableColumn::getAll ( uint04 start,
uint04 size ) const
inline

Retrieves a contiguous range of values as a typed buffer.

Parameters
[in]startThe starting row index.
[in]sizeThe number of rows to retrieve.
Returns
A Buffer containing copies of the requested values.
Note
Uses memcpy when the requested type matches the column type for efficiency.

Definition at line 1131 of file TableColumn.h.

References begin(), get(), GetTypeInfo(), size(), and type().

◆ getDefaultValue()

◆ getIndexOf()

template<class t_type>
uint04 TableColumn::getIndexOf ( const t_type & object) const
inline

Searches for the first row containing the given value.

Parameters
[in]objectThe value to search for.
Returns
The row index of the first match, or Constant<uint04>::Invalid if not found.

Definition at line 609 of file TableColumn.h.

References get(), and size().

◆ getModifiedTime()

Time TableColumn::getModifiedTime ( ) const
inline

Returns the last modification time of this column.

Returns
The Time of the most recent modification.

Definition at line 1050 of file TableColumn.h.

References m_modified_time.

◆ getRowSize()

virtual uint04 TableColumn::getRowSize ( uint04 ) const
inlinevirtual

Returns the size of an array-typed row at the given index.

Parameters
[in]indexThe row index (parameter unnamed in declaration).
Returns
The size of the array at the given row, or 0 if not an array type.
Note
Only valid for array-type columns. Asserts on non-array columns.

Reimplemented in TableColumnString, TableColumnTypeBuffer< t_type >, TableColumnTypeBuffer< T >, TableColumnTypeBuffer< uint04 >, TableVectorType< t_dims, t_type >, TableVectorType< 1, T >, TableVectorType< 1, t_type >, TableVectorType< 1, uint01 >, TableVectorType< 1, uint02 >, TableVectorType< 1, uint04 >, TableVectorType< 1, uint08 >, TableVectorType< 1, UUID >, TableVectorType< 16, uint01 >, TableVectorType< 2 *t_dims, T >, TableVectorType< 6, fltp08 >, TableVectorType< t_cols *t_rows, t_type >, and TableVectorType< t_dims, T >.

Definition at line 117 of file TableColumn.h.

◆ getSelected()

virtual TableColumn * TableColumn::getSelected ( const Buffer< bool > & selected_indices) const
pure virtual

◆ getVector() [1/6]

virtual void TableColumn::getVector ( uint04 index,
Vector< 1, uint04 > & vector ) const
virtual

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

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

◆ getVector() [2/6]

virtual void TableColumn::getVector ( uint04 index,
Vector< 2, uint04 > & vector ) const
virtual

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

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

Reimplemented in TableVectorType< t_dims, t_type >, TableVectorType< 1, T >, TableVectorType< 1, uint01 >, TableVectorType< 1, uint02 >, TableVectorType< 1, uint04 >, TableVectorType< 1, uint08 >, TableVectorType< 2 *t_dims, T >, and TableVectorType< t_dims, T >.

◆ getVector() [3/6]

◆ getVector() [4/6]

virtual void TableColumn::getVector ( uint04 index,
Vector< 3, fltp08 > & vector ) const
virtual

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

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

Reimplemented in TableVectorType< t_dims, t_type >, TableVectorType< 1, T >, TableVectorType< 1, uint01 >, TableVectorType< 1, uint02 >, TableVectorType< 1, uint04 >, TableVectorType< 1, uint08 >, TableVectorType< 2 *t_dims, T >, and TableVectorType< t_dims, T >.

◆ getVector() [5/6]

virtual void TableColumn::getVector ( uint04 index,
Vector< 3, uint04 > & vector ) const
virtual

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

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

Reimplemented in TableVectorType< t_dims, t_type >, TableVectorType< 1, T >, TableVectorType< 1, uint01 >, TableVectorType< 1, uint02 >, TableVectorType< 1, uint04 >, TableVectorType< 1, uint08 >, TableVectorType< 2 *t_dims, T >, and TableVectorType< t_dims, T >.

◆ getVector() [6/6]

template<uint01 t_dims, class t_type>
void TableColumn::getVector ( uint04 index,
Vector< t_dims, t_type > & value ) const
inline

Retrieves a generic vector from the given row index by reading each component from consecutive vector positions.

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

Definition at line 936 of file TableColumn.h.

References get().

◆ hasChangesSince()

bool TableColumn::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.

Parameters
[in]timeThe cutoff time.
[in]rangeThe row range to check.
Returns
True if at least one change exists in the given time and range.

◆ insert() [1/2]

virtual void TableColumn::insert ( uint04 index)
pure virtual

Inserts a default-initialized row at the given index, shifting subsequent rows.

Parameters
[in]indexThe position at which to insert the new row.

Implemented in GraphicsBuffer, TableColumnBuffer< t_type >, TableColumnBuffer< Buffer< t_type > >, TableColumnBuffer< RGBColor >, TableColumnBuffer< String >, TableColumnBuffer< Vector< t_dims, fltp08 > >, TableColumnBuffer< Vector< t_dims, t_type > >, and TableColumnBuffer< Vector< t_dims, uint01 > >.

Referenced by insert().

◆ insert() [2/2]

template<class t_type>
void TableColumn::insert ( uint04 index,
const t_type & value )
inline

Inserts a new row at the given index and immediately sets its value.

Parameters
[in]indexThe position at which to insert.
[in]valueThe value to assign to the newly inserted row.

Definition at line 946 of file TableColumn.h.

References insert(), and set().

◆ insertIndices()

◆ insertRows()

virtual void TableColumn::insertRows ( uint04 location,
uint04 size )
pure virtual

Inserts a contiguous block of default-initialized rows at the given location.

Parameters
[in]locationThe position at which to insert.
[in]sizeThe number of rows to insert.

Implemented in OpenGLBuffer, TableColumnBuffer< t_type >, TableColumnBuffer< Buffer< t_type > >, TableColumnBuffer< RGBColor >, TableColumnBuffer< String >, TableColumnBuffer< Vector< t_dims, fltp08 > >, TableColumnBuffer< Vector< t_dims, t_type > >, TableColumnBuffer< Vector< t_dims, uint01 > >, and VulkanBuffer.

References size().

Referenced by addRow(), and GraphicsBuffer::insert().

◆ isSame()

virtual bool TableColumn::isSame ( uint04 index,
const StringView & value ) const
pure virtual

Checks whether the stored string at the given row is exactly equal to the given value.

Parameters
[in]indexThe row index.
[in]valueThe string to compare against.
Returns
True if the stored string equals the given value.

Implemented in GraphicsBuffer, TableColumnBuffer< t_type >, TableColumnBuffer< Buffer< t_type > >, TableColumnBuffer< RGBColor >, TableColumnBuffer< String >, TableColumnBuffer< Vector< t_dims, fltp08 > >, TableColumnBuffer< Vector< t_dims, t_type > >, TableColumnBuffer< Vector< t_dims, uint01 > >, and TableColumnString.

Referenced by PropertyInterface< t_property_enum >::IsSame(), PropertyInterface< NDPN >::IsSame(), and PropertyInterface< NDPO >::IsSame().

◆ label()

◆ mapFromFile()

virtual void TableColumn::mapFromFile ( BinaryFileTableInfo & )
inlinevirtual

◆ mapToFile() [1/2]

virtual void TableColumn::mapToFile ( BinaryFileTableInfo & ,
BinaryCompressionObject &  )
inlinevirtual

Maps this column to a binary file using compression.

Parameters
[in]infoThe binary file table info structure.
[in]objectThe compression object to use.

Reimplemented in GraphicsBuffer, and TableColumnBuffer< t_type >.

Definition at line 384 of file TableColumn.h.

◆ mapToFile() [2/2]

virtual void TableColumn::mapToFile ( BinaryFileTableInfo & ,
int  )
inlinevirtual

Maps this column to a binary file for serialization.

Parameters
[in]infoThe binary file table info structure.
[in]column_idThe column identifier within the file (parameter unnamed in declaration).

Reimplemented in GraphicsBuffer, TableColumnBuffer< t_type >, TableColumnBuffer< Buffer< t_type > >, TableColumnBuffer< RGBColor >, TableColumnBuffer< String >, TableColumnBuffer< Vector< t_dims, fltp08 > >, TableColumnBuffer< Vector< t_dims, t_type > >, and TableColumnBuffer< Vector< t_dims, uint01 > >.

Definition at line 379 of file TableColumn.h.

◆ referenceTable()

UUID TableColumn::referenceTable ( ) const
inline

Returns the UUID of a table that this column references, if any.

Returns
The reference table UUID, or Constant<UUID>::Invalid if none.

Definition at line 1186 of file TableColumn.h.

References m_reference_table.

◆ removeIndices() [1/2]

virtual void TableColumn::removeIndices ( const Buffer< uint04 > & offset_lookup_list)
pure virtual

◆ removeIndices() [2/2]

◆ removeRow()

◆ removeRows() [1/3]

virtual void TableColumn::removeRows ( const Buffer< uint04 > & sorted_remove_indices)
pure virtual

Removes multiple rows identified by a sorted list of indices.

Parameters
[in]sorted_remove_indicesA buffer of row indices to remove, sorted in ascending order.

Implemented in GraphicsBuffer, and TableColumnBuffer< t_type >.

◆ removeRows() [2/3]

virtual void TableColumn::removeRows ( uint04 index,
uint04 size )
pure virtual

Removes a contiguous block of rows starting at the given index.

Parameters
[in]indexThe starting row index.
[in]sizeThe number of rows to remove.

Implemented in GraphicsBuffer, TableColumnBuffer< t_type >, TableColumnBuffer< Buffer< t_type > >, TableColumnBuffer< RGBColor >, TableColumnBuffer< String >, TableColumnBuffer< Vector< t_dims, fltp08 > >, TableColumnBuffer< Vector< t_dims, t_type > >, and TableColumnBuffer< Vector< t_dims, uint01 > >.

References size().

◆ removeRows() [3/3]

virtual void TableColumn::removeRows ( uint04 offset,
const Buffer< bool > & indices )
pure virtual

Removes rows indicated by a boolean mask starting from a given offset.

Parameters
[in]offsetThe row offset to apply to the boolean indices.
[in]indicesA boolean buffer where true indicates a row to remove.

Implemented in GraphicsBuffer, TableColumnBuffer< t_type >, and TableColumnString.

◆ resetRow()

virtual void TableColumn::resetRow ( uint04 )
inlinevirtual

Resets a row to its default state.

Base implementation is a no-op.

Parameters
[in]indexThe row index to reset (parameter unnamed in declaration).

Reimplemented in TableColumnBuffer< t_type >, TableColumnBuffer< Buffer< t_type > >, TableColumnBuffer< RGBColor >, TableColumnBuffer< String >, TableColumnBuffer< Vector< t_dims, fltp08 > >, TableColumnBuffer< Vector< t_dims, t_type > >, and TableColumnBuffer< Vector< t_dims, uint01 > >.

Definition at line 374 of file TableColumn.h.

◆ set() [1/50]

template<class t_type>
void TableColumn::set ( t_type * values,
uint04 start_index,
uint04 size )
inline

Bulk-sets values from a raw pointer array into this column.

Parameters
[in]valuesPointer to the source array of values.
[in]start_indexThe starting row index in this column.
[in]sizeThe number of elements to copy.
Note
Uses memcpy when the source type matches the column type for efficiency.

Definition at line 508 of file TableColumn.h.

References begin(), GetTypeInfo(), set(), size(), and type().

◆ set() [2/50]

◆ set() [3/50]

void TableColumn::set ( uint04 index,
const BitFlag & bitflag )
inline

Sets a BitFlag value at the given row index by storing its underlying bits.

Parameters
[in]indexThe row index.
[in]bitflagThe bit flag whose bits are stored.

Definition at line 491 of file TableColumn.h.

References set().

◆ set() [4/50]

void TableColumn::set ( uint04 index,
const BitReference & val )
inline

Sets the value at the given row index from a BitReference.

Parameters
[in]indexThe row index.
[in]valThe bit reference to convert to bool and store.

Definition at line 175 of file TableColumn.h.

References set().

◆ set() [5/50]

virtual void TableColumn::set ( uint04 index,
const Bounds< 3, fltp04 > & bounds )
virtual

◆ set() [6/50]

virtual void TableColumn::set ( uint04 index,
const Bounds< 3, fltp08 > & bounds )
virtual

◆ set() [7/50]

template<uint01 t_dims, class t_type>
void TableColumn::set ( uint04 index,
const Bounds< t_dims, t_type > & value )
inline

Sets a Bounds value at the given row index by writing min and max components into contiguous vector positions.

Parameters
[in]indexThe row index.
[in]valueThe bounding box to store.

Definition at line 443 of file TableColumn.h.

References set(), and type().

◆ set() [8/50]

void TableColumn::set ( uint04 index,
const char * string )
inline

Sets the value at the given row index from a C-string pointer.

Parameters
[in]indexThe row index.
[in]stringThe null-terminated string to store.

Definition at line 159 of file TableColumn.h.

References set().

◆ set() [9/50]

template<std::size_t N>
void TableColumn::set ( uint04 index,
const char(&) string[N] )
inline

Sets the value at the given row index from a string literal.

Parameters
[in]indexThe row index.
[in]stringThe string literal to store.

Definition at line 151 of file TableColumn.h.

References set().

◆ set() [10/50]

void TableColumn::set ( uint04 index,
const File & value )

Sets a File value at the given row index.

Parameters
[in]indexThe row index.
[in]valueThe file path to store.

◆ set() [11/50]

virtual void TableColumn::set ( uint04 index,
const Matrix< fltp04 > & transform )
virtual

Sets a 4x4 fltp04 matrix value at the given row index.

Parameters
[in]indexThe row index.
[in]transformThe matrix to store.

Reimplemented in TableMatrixType< t_type, t_cols, t_rows >, and TableMatrixType< T, t_cols, t_rows >.

◆ set() [12/50]

virtual void TableColumn::set ( uint04 index,
const Matrix< fltp08 > & transform )
virtual

Sets a 4x4 fltp08 matrix value at the given row index.

Parameters
[in]indexThe row index.
[in]transformThe matrix to store.

Reimplemented in TableMatrixType< t_type, t_cols, t_rows >, and TableMatrixType< T, t_cols, t_rows >.

◆ set() [13/50]

template<class t_type, uint01 t_col, uint01 t_row>
void TableColumn::set ( uint04 index,
const Matrix< t_type, t_col, t_row > & matrix )
inline

Sets a Matrix value at the given row index by writing each element column-major into contiguous vector positions.

Parameters
[in]indexThe row index.
[in]matrixThe matrix to store.

Definition at line 456 of file TableColumn.h.

References set(), and type().

◆ set() [14/50]

void TableColumn::set ( uint04 index,
const std::nullptr_t &  )
inline

Sets the value at the given row index to zero (nullptr overload).

Parameters
[in]indexThe row index.

Definition at line 201 of file TableColumn.h.

References set().

◆ set() [15/50]

void TableColumn::set ( uint04 index,
const String & value )

Sets a String value at the given row index.

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

◆ set() [16/50]

void TableColumn::set ( uint04 index,
const StringAllocatingView & string )
inline

Sets the value at the given row index from a StringAllocatingView.

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

Definition at line 167 of file TableColumn.h.

References set().

◆ set() [17/50]

◆ set() [18/50]

template<class t_class>
std::enable_if< ObjectInfo< t_class >::Enum >::type TableColumn::set ( uint04 index,
const t_class & value )
inline

Sets an enum value at the given row index by casting to uint04.

Parameters
[in]indexThe row index.
[in]valueThe enum value to store.
Note
SFINAE-enabled: only participates when t_class is an enum type.

Definition at line 482 of file TableColumn.h.

References cast(), set(), and type().

◆ set() [19/50]

template<class t_class>
std::enable_if< IsVec< t_class >::value >::type TableColumn::set ( uint04 index,
const t_class & value )
inline

Sets a vector value at the given row index.

If the vector is 1D, stores as scalar.

Parameters
[in]indexThe row index.
[in]valueThe vector to store.
Note
SFINAE-enabled: only participates when t_class is a vector type.

Definition at line 469 of file TableColumn.h.

References set(), setVector(), and type().

◆ set() [20/50]

template<class t_class>
std::enable_if<!ObjectInfo< t_class >::Enum >::type TableColumn::set ( uint04 index,
const t_class & value )

Sets the value at the given row index from a non-enum type.

Parameters
[in]indexThe row index.
[in]valueThe value to set.
Note
SFINAE-enabled: only participates when t_class is not an enum.

References type().

Referenced by insert(), PropertyInterface< t_property_enum >::Set(), PropertyInterface< t_property_enum >::Set(), PropertyInterface< NDPN >::Set(), PropertyInterface< NDPN >::Set(), set(), set(), set(), set(), set(), set(), set(), set(), set(), set(), set(), set(), set(), setAll(), and setVector().

◆ set() [21/50]

template<class t_pointer_type>
void TableColumn::set ( uint04 index,
const t_pointer_type * pointer )
inline

Sets the value at the given row index from a const pointer, stored as uint08.

Parameters
[in]indexThe row index.
[in]pointerThe const pointer value to store as an integer.

Definition at line 194 of file TableColumn.h.

References set().

◆ set() [22/50]

void TableColumn::set ( uint04 index,
const Time & time )

Sets a Time value at the given row index by storing its underlying uint08.

Parameters
[in]indexThe row index.
[in]timeThe time value to store.

◆ set() [23/50]

void TableColumn::set ( uint04 index,
const TranslatedString & value )

Sets a TranslatedString value at the given row index.

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

◆ set() [24/50]

template<uint01 t_dims, class t_type>
void TableColumn::set ( uint04 index,
const Triangle< t_dims, t_type > & value )
inline

Sets a Triangle value at the given row index by writing each vertex component into contiguous vector positions.

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

Definition at line 429 of file TableColumn.h.

References set(), and type().

◆ set() [25/50]

virtual void TableColumn::set ( uint04 index,
const UUID & value )
virtual

Sets a UUID value at the given row index.

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

Reimplemented in TableVectorType< 1, UUID >.

◆ set() [26/50]

void TableColumn::set ( uint04 index,
const Vector< 32, bool > & value )

Sets a 32-element boolean vector at the given row index.

Parameters
[in]indexThe row index.
[in]valueThe 32-bit boolean vector to store.

◆ set() [27/50]

◆ set() [28/50]

◆ set() [29/50]

◆ set() [30/50]

◆ set() [31/50]

◆ set() [32/50]

◆ set() [33/50]

◆ set() [34/50]

template<class t_pointer_type>
void TableColumn::set ( uint04 index,
t_pointer_type * pointer )
inline

Sets the value at the given row index from a non-const pointer, stored as uint08.

Parameters
[in]indexThe row index.
[in]pointerThe pointer value to store as an integer.

Definition at line 185 of file TableColumn.h.

References set().

◆ set() [35/50]

◆ set() [36/50]

◆ set() [37/50]

◆ set() [38/50]

◆ set() [39/50]

virtual void TableColumn::set ( uint04 index,
uint04 vector_pos,
const StringView & value )
pure virtual

◆ set() [40/50]

virtual void TableColumn::set ( uint04 index,
uint04 vector_pos,
fltp04 value )
pure virtual

◆ set() [41/50]

virtual void TableColumn::set ( uint04 index,
uint04 vector_pos,
fltp08 value )
pure virtual

◆ set() [42/50]

virtual void TableColumn::set ( uint04 index,
uint04 vector_pos,
sint01 value )
pure virtual

◆ set() [43/50]

virtual void TableColumn::set ( uint04 index,
uint04 vector_pos,
sint02 value )
pure virtual

◆ set() [44/50]

virtual void TableColumn::set ( uint04 index,
uint04 vector_pos,
sint04 value )
pure virtual

◆ set() [45/50]

virtual void TableColumn::set ( uint04 index,
uint04 vector_pos,
sint08 value )
pure virtual

◆ set() [46/50]

virtual void TableColumn::set ( uint04 index,
uint04 vector_pos,
uint01 value )
pure virtual

◆ set() [47/50]

virtual void TableColumn::set ( uint04 index,
uint04 vector_pos,
uint02 value )
pure virtual

◆ set() [48/50]

virtual void TableColumn::set ( uint04 index,
uint04 vector_pos,
uint04 value )
pure virtual

◆ set() [49/50]

virtual void TableColumn::set ( uint04 index,
uint04 vector_pos,
uint08 value )
pure virtual

◆ set() [50/50]

◆ setAll() [1/2]

template<class t_type>
void TableColumn::setAll ( uint04 to_location,
uint04 from_location,
uint04 size,
const TableColumn & from_column )
inline

Copies a range of values from another column into this column using a specific type.

Uses memcpy/memmove when types match and are primitive for optimal performance.

Parameters
[in]to_locationThe starting destination row index in this column.
[in]from_locationThe starting source row index in the source column.
[in]sizeThe number of rows to copy.
[in]from_columnThe source column to copy from.

Definition at line 986 of file TableColumn.h.

References TableColumn(), begin(), get(), GetTypeInfo(), set(), size(), and type().

◆ setAll() [2/2]

virtual void TableColumn::setAll ( uint04 to_location,
uint04 from_location,
uint04 size,
const TableColumn & from_column )
inlinevirtual

Copies a range of values from another column into this column.

Dispatches to a type-specific setAll based on the column's vector_size.

Parameters
[in]to_locationThe starting destination row index in this column.
[in]from_locationThe starting source row index in the source column.
[in]sizeThe number of rows to copy.
[in]from_columnThe source column to copy from.

Definition at line 958 of file TableColumn.h.

References TableColumn(), setAll(), size(), and type().

Referenced by setAll().

◆ setCompressionMode()

void TableColumn::setCompressionMode ( CompressionMode compression_mode)
inline

Sets the compression mode used when serializing this column.

Parameters
[in]compression_modeThe compression mode to use.

Definition at line 621 of file TableColumn.h.

References m_compression_mode.

◆ setDefault() [1/2]

template<class t_type>
std::enable_if<!std::is_enum< t_type >::value >::type TableColumn::setDefault ( const t_type & value)
inline

Sets the default value for new rows from a non-enum value.

Parameters
[in]valueThe default value to set.
Note
SFINAE-enabled: only participates when t_type is not an enum.

Definition at line 1101 of file TableColumn.h.

References setDefaultValue(), and type().

◆ setDefault() [2/2]

template<class t_type>
std::enable_if< std::is_enum< t_type >::value >::type TableColumn::setDefault ( const t_type & value)
inline

Sets the default value for new rows from an enum value by casting to uint04.

Parameters
[in]valueThe enum default value to set.
Note
SFINAE-enabled: only participates when t_type is an enum.

Definition at line 1092 of file TableColumn.h.

References cast(), setDefaultValue(), and type().

◆ setDefaultValue()

◆ setDefaultValueFrom()

virtual void TableColumn::setDefaultValueFrom ( const TableColumn & column)
pure virtual

◆ setLabel()

void TableColumn::setLabel ( const StringView & label)

Sets the label (name) for this column.

Parameters
[in]labelThe new label to assign.

References label().

◆ setReferenceTable()

void TableColumn::setReferenceTable ( const UUID table)
inline

Sets the UUID of a table that this column references.

Parameters
[in]tableThe UUID of the referenced table.

Definition at line 1193 of file TableColumn.h.

References m_reference_table.

◆ setRowSize()

virtual void TableColumn::setRowSize ( uint04 ,
uint04  )
inlinevirtual

Sets the size of an array-typed row at the given index.

Parameters
[in]indexThe row index (parameter unnamed in declaration).
[in]sizeThe desired size for that row's array (parameter unnamed in declaration).
Note
Only valid for array-type columns. Asserts on non-array columns.

Reimplemented in TableColumnString, TableColumnTypeBuffer< t_type >, TableColumnTypeBuffer< T >, and TableColumnTypeBuffer< uint04 >.

Definition at line 111 of file TableColumn.h.

◆ setSize()

◆ setVector()

template<uint01 t_dims, class t_type>
void TableColumn::setVector ( uint04 index,
const Vector< t_dims, t_type > & value )
inline

Sets a vector value at the given row index, writing each component individually.

Parameters
[in]indexThe row index.
[in]valueThe vector whose components are written to consecutive vector positions.

Definition at line 524 of file TableColumn.h.

References cast(), getMin(), set(), and type().

Referenced by set().

◆ size()

◆ swap()

virtual void TableColumn::swap ( uint04 a,
uint04 b )
pure virtual

◆ swapIndices()

◆ tableHash()

◆ type()

◆ update()

void TableColumn::update ( const TableChange & change)

Records a change to this column and updates the modification time.

Parameters
[in]changeThe TableChange describing what was modified.

Referenced by updateAll().

◆ updateFrom()

virtual void TableColumn::updateFrom ( const TableColumn & column)
virtual

Updates this column's data from another column, typically used for synchronization or mirroring.

Parameters
[in]columnThe source column to update from.

Reimplemented in GraphicsBuffer.

References TableColumn().


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