emergent 8.2.2 DataTable Class Reference
emergent 8.2.2   Home · Wiki Docs For: DataTable · Emergent Help Browser 

DataTable Class Reference

table of data containing columns of a fixed data type and geometry, with data added row-by-row

See for more info: Wiki Docs For: DataTable

 #include <DataTable>

defined at: /mnt/ssd/grey/local/include/Emergent/DataTable.h :87-1230

Inherits From: taFBase, taNBase, taOBase, taBase

Inherited By: DataTable*, DataTable&, const DataTable, DataBlock

Index: SubTypes, Members, Methods, Static Members, Static Methods, Expert Members, Expert Methods

Sub Types


SubType Documentation

enum DataTable::DataFlags

flags for data table

ConstantValueDescription
DataTable::DF_NONE0x00000000
DataTable::SAVE_ROWS0x00000001Store this DataTable's row-data directly in the project file. Uncheck for the option to store row-data externally. Note: the DataTable's schema (column names, types, and other configuration information) is always saved directly in the project.
DataTable::HAS_CALCS0x00000002at least one of the columns has CALC flag set
DataTable::AUTO_CALC0x00000004Automatically calculate columns.
DataTable::SAVE_FILE0x00000008If an AUTO_LOAD filename is set, this option causes row-data to be saved to that file whenever the project is saved.
DataTable::LOG_HEADER_OUT0x00000010log file header has been output -- used to only output the header at the last possible moment when data first written to the log, to minimize possible pmismatch between data and header
DataTable::ROW_AUTO_HEIGHT0x00000020if true, table editor row height is automatically sized based on the content (all rows are the same height), up to a maximum height of 10 rows

enum DataTable::AutoLoadMode

ConstantValueDescription
DataTable::NO_AUTO_LOAD0x00000000Do not automatically load a data file.
DataTable::AUTO_LOAD0x00000001Automatically load a data file after loading the project.
DataTable::PROMPT_LOAD0x00000002Prompt to load a data file after loading the project. In -nogui mode, this is the same as AUTO_LOAD.

enum DataTable::Delimiters

ConstantValueDescription
DataTable::TAB0x00000000
DataTable::SPACE0x00000001
DataTable::COMMA0x00000002

enum DataTable::LoadDelimiters

same as Delimiters, only for LoadData gui

ConstantValueDescription
DataTable::LD_AUTO0xFFFFFFFF
DataTable::LD_TAB0x00000000
DataTable::LD_SPACE0x00000001
DataTable::LD_COMMA0x00000002

enum DataTable::LoadQuotes

same as Delimiters, only for LoadData gui

ConstantValueDescription
DataTable::LQ_AUTO0xFFFFFFFF
DataTable::LQ_NO0x00000000
DataTable::LQ_YES0x00000001

enum DataTable::Delimiters_ref

ConstantValueDescription
DataTable::TAB0x00000000
DataTable::SPACE0x00000001
DataTable::COMMA0x00000002


Regular (preferred) Member and Method Documentation

Members

Member Category: _NoCategory

Member Category: taBase

Methods

Method Category: Access

Method Category: Calc

Method Category: Columns

Method Category: Config

Method Category: Copy

Method Category: DMem

Method Category: DataProc

Method Category: Display

Method Category: File

Method Category: Modify

Method Category: ObjectMgmt

Method Category: Rows

Method Category: SubMatrix

Method Category: UserData

Method Category: _NoCategory

Method Category: stats


Member Documentation

Member Category: _NoCategory

DataTable::auto_load : DataTable::AutoLoadMode

Whether to automatically load a data file when the DataTable object is loaded. This option is only available when SAVE_ROWS is unchecked. Storing row-data externally reduces the project file size (especially for large data tables), but the project is no longer self contained.

DataTable::auto_load_file : taString

Where to store and load row-data from if AUTO_LOAD option is set. (*.dtbl files are loaded using internal Load format, otherwise LoadData is used.)

DataTable::data_flags : DataTable::DataFlags

Flags for various features and state of the DataTable:

DataTable::max_col_width : int

maximum width of columns (in characters) in the editor -- this is enforced for auto-size of column width to contents, and for manual resizing -- if you specifically request a size larger than this value in the gui, it will be increased here automatically as well

DataTable::read_idx : int

current table-specific index for reading data -- use ReadItem or ReadNext to update: -3=ReadItem error, -2=EOF, -1=BOF, >=0 is valid item

DataTable::row_height : int

how high to make the rows in the data table editor, in terms of number of lines of text that can fit within each row -- text will auto-wrap -- only in effect if ROW_AUTO_HEIGHT

DataTable::rows : int

The number of rows of data (that are visible - after filtering/removing)

DataTable::write_idx : int

current table-specific index for writing data -- use WriteItem or WriteNext to update: -3=WriteItem error, -2=EOF, -1=BOF, >=0 is valid item

Member Category: taBase

taFBase::desc : taString

description of this object: what does it do, how should it be used, etc

taNBase::name : taString

name of the object


Method Documentation

Method Category: Access

Variant DataTable::Elem ( Variant& idx, taBase::IndexMode mode = IDX_UNK )

get element(s) from container -- return can be a single item or a Matrix of multiple items, depending on the index -- see IndexMode for all the possible indexing modes and associated return values (some of which are not applicable to some containers, as documented for that container)

Show Source Code

int DataTable::FindMultiVal ( int st_row, Variant& val1, Variant& col1, Variant& val2 = 0, Variant& col2, Variant& val3 = 0, Variant& col3, Variant& val4 = 0, Variant& col4, Variant& vall5 = 0, Variant& col5, Variant& val6 = 0, Variant& col6 )

find row number for multiple values across different columns of scalar type, starting at given starting row number. if st_row < 0 then the search proceeds backwards from that many rows from end (-1 = end) -- columns can be specified as either integer index or a string that is then used to find the given column name

Show Source Code

int DataTable::FindVal ( Variant& val, Variant& col, int st_row = 0, bool not_found_err = false )

find row number for given value within column col of scalar type (use for Programs), starting at given starting row number. if st_row < 0 then the search proceeds backwards from that many rows from end (-1 = end) -- column can be specified as either integer index or a string that is then used to find the given column name. returns -1 if not found, and issues error if not_found_err is true

Show Source Code

const Variant DataTable::GetData ( Variant& col )

get data from given column number or name at current read_idx row number -- see ReadItem, ReadNext for updating the read_idx index

Show Source Code

const Variant DataTable::GetMatrixCellData ( Variant& col, int cell )

get data from Matrix cell (flat index into matrix values) at column number or name at current read_idx row number -- see ReadItem, ReadNext for updating the read_idx index

Show Source Code

taMatrix* DataTable::GetMatrixData ( Variant& col )

get data from Matrix column number or name at current read_idx row number -- see ReadItem, ReadNext for updating the read_idx index

Show Source Code

const Variant DataTable::GetMatrixFlatVal ( Variant& col, int row, int cell )

get data of matrix type, in Variant form (any data type, use for Programs), for given column, row, and matrix flat cell index (regardless of dimensions) -- column can be specified as either integer index or a string that is then used to find the given column name

Show Source Code

const Variant DataTable::GetMatrixVal ( Variant& col, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0 )

get data of matrix type, in Variant form (any data type, use for Programs), for given column, row, and matrix dimension indicies -- column can be specified as either integer index or a string that is then used to find the given column name

Show Source Code

const Variant DataTable::GetVal ( Variant& col, int row )

get data of scalar type, in Variant form (any data type, use for Programs), for given column, row -- column can be specified as either integer index or a string that is then used to find the given column name

Show Source Code

taMatrix* DataTable::GetValAsMatrix ( Variant& col, int row )

get data of matrix type (multi-dimensional data within a given cell), in Matrix form, for given column, row; for Program usage, assign to a LocalVars Matrix* variable, NOT a global vars variable, at the appropriate scope where the matrix will be used, (e.g., if within a loop, put variable in the loop_code of the loop), so that the local variable will be deleted automatically, to free the memory associated with the Matrix when it is no longer needed

Show Source Code

taMatrix* DataTable::GetValAsMatrixColName ( taString& col_name, int row, bool quiet = false )

get data of matrix type (multi-dimensional data within a given cell), in Matrix form, for given column, row; for Program usage, assign to a LocalVars Matrix* variable, NOT a global vars variable, at the appropriate scope where the matrix will be used, (e.g., if within a loop, put variable in the loop_code of the loop), so that the local variable will be deleted automatically, to free the memory associated with the Matrix when it is no longer needed

Show Source Code

Variant DataTable::LookupVal ( Variant& find_val, Variant& find_in_col, Variant& value_col, int st_row = 0, bool not_found_err = true )

lookup value in a given row of table by finding value in another column -- uses row number from finding find_val in find_in_col column to access value in value_col, which is returned as a variant (must be a scalar). starts at given starting row number. if st_row < 0 then the search proceeds backwards from that many rows from end (-1 = end) -- column can be specified as either integer index or a string that is then used to find the given column name. returns null (invalid) variant if find_val not found, and issues error if not_found_err is true

Show Source Code

Method Category: Calc

bool DataTable::CalcAllRows ( )

perform calculations for all rows of data (updates after)

Show Source Code

bool DataTable::CalcRow ( int row )

perform calculations for given row of data (calls InitCalcScript to make sure)

Show Source Code

Method Category: Columns

int DataTable::Cells ( )

compute the total number of cells used in the entire data table (CellsPerRow() * rows)

Show Source Code

int DataTable::CellsPerRow ( )

compute the total number of cells (single values) used per row in the entire data table (iterates over columns, adds up cell_size())

Show Source Code

void DataTable::ChangeAllColsOfType ( taBase::ValType cur_val_type, taBase::ValType new_val_type )

change data type of all columns that are currently of cur_val_type to new_val_type -- preserves data subject to constraints of type change

Show Source Code

void DataTable::ChangeColType ( Variant& col, taBase::ValType new_val_type )

change data type of column -- preserves data subject to constraints of type change

Show Source Code

void DataTable::ChangeColTypeGeom ( taString& col_nm, taBase::ValType val_type, int dims = 0, int d0 = 0, int d1 = 0, int d2 = 0, int d3 = 0, int d4 = 0, int d5 = 0, int d6 = 0 )

change type and/or geometry of column with given name -- preserves as much data as possible subject to these changes

Show Source Code

void DataTable::DuplicateCol ( Variant& col )

duplicates indicated column

Show Source Code

DataCol* DataTable::FindColFmSpec ( DataColSpec* cs )

find column that matches the given spec

Show Source Code

DataCol* DataTable::FindColName ( taString& col_nm, bool err_msg = false )

find a column of the given name; if err_msg then generate an error if not found

Show Source Code

int DataTable::FindColNameIdx ( taString& col_nm, bool err_msg = false )

find a column index of the given name; if err_msg then generate an error if not found

Show Source Code

int DataTable::FindColNameIdxCamelSnake ( taString& col_nm, bool err_msg = false )

find a column index of the given name, trying both camel and snake versions of the name if the original is not found; if err_msg then generate an error if not found

Show Source Code

DataCol* DataTable::FindMakeCol ( taString& col_nm, taBase::ValType val_type )

insures that a scalar column of the given name and val type exists, and return that col.

Show Source Code

DataCol* DataTable::FindMakeColFmSpec ( DataColSpec* cs )

either find or make a column that matches the spec -- sets the col_num of the spec to be that of the data col

Show Source Code

DataCol* DataTable::FindMakeColMatrix ( taString& col_nm, taBase::ValType val_type, int dims = 1, int d0 = 1, int d1 = 0, int d2 = 0, int d3 = 0, int d4 = 0, int d5 = 0, int d6 = 0 )

insures that a matrix column of the given name, val type, and dimensions exists, and returns that col.

Show Source Code

taMatrix* DataTable::GetColMatrix ( Variant& col )

get matrix for given column -- WARNING: this is NOT row-number safe

Show Source Code

void DataTable::MakeJointStringCol ( taString& new_col_nm, Variant& col1, Variant& col2 )

make a new String column that contains the values of col1 and col2 (which can be any type of scalar columns) concatenated together with an _ in between -- this is particularly useful for creating a column that can be used in a taDataProc::Join operation with another similarly-processed table, so that you can do a joint join on the values across these two columns

Show Source Code

void DataTable::MarkCols ( )

mark all cols before updating, for orphan deleting

Show Source Code

bool DataTable::MatrixColFmScalars ( Variant& mtx_col, taString& scalar_col_name_stub )

convert a sequence of scalar columns to a matrix column -- if scalar_col_name_stub is non-empty, it will be used as the basis for the column names, which are sequentially numbered by cell index: stub_0 stub_1... -- otherwise, all non-matrix numeric fields with same value type as the matrix column will be used -- matrix column must already exist and be configured properly

Show Source Code

bool DataTable::MatrixColToScalarRows ( DataTable* dest_data, Variant& mtx_col, taString& dest_label_col_nm )

convert data in a matrix column to a single scalar column with each row containing the value of each cell in the matrix, repeated for the number of existing rows in this table -- if dest_label_col_nm is non-empty, then create (use existing) String column of that name to store a label indicating the original row and flat cell index of the source matrix data

Show Source Code

bool DataTable::MatrixColToScalars ( Variant& mtx_col, taString& scalar_col_name_stub )

convert a matrix column to a sequence of (new) scalar columns (existing cols are used too) -- if scalar_col_name_stub is non-empty, it will be used as the basis for the column names, which are sequentially numbered by cell index: stub_0 stub_1... -- otherwise, the original column name will be used with these index suffixes

Show Source Code

void DataTable::MoveCol ( int old_index, int new_index )

move the column from position old to position new

Show Source Code

DataCol* DataTable::NewCol ( taBase::ValType val_type, taString& col_nm )

create new scalar column of data of specified type

Show Source Code

double_Data* DataTable::NewColDouble ( taString& col_nm )

create new column of double data

Show Source Code

float_Data* DataTable::NewColFloat ( taString& col_nm )

create new column of floating point data

Show Source Code

DataCol* DataTable::NewColFmMatrix ( taMatrix* mat, taString& col_nm )

Create a new matrix column in table from mat. Creates a row if there aren't any and copies mat into the first cell of the new column.

Show Source Code

DataCol* DataTable::NewColFmSpec ( DataColSpec* cs )

create new column based on spec -- sets the col_num of spec to be index of column

Show Source Code

int_Data* DataTable::NewColInt ( taString& col_nm )

create new column of integer-level data (= narrow display, actually stored as float)

Show Source Code

DataCol* DataTable::NewColMatrix ( taBase::ValType val_type, taString& col_nm, int dims = 1, int d0 = 0, int d1 = 0, int d2 = 0, int d3 = 0, int d4 = 0, int d5 = 0, int d6 = 0 )

create new matrix column of data of specified type, with specified cell geom

Show Source Code

DataCol* DataTable::NewColMatrixN ( taBase::ValType val_type, taString& col_nm, MatrixGeom& cell_geom, int& col_idx )

create new matrix column of data of specified type, with specified cell geom

Show Source Code

DataCol* DataTable::NewColMatrixN_gui ( taBase::ValType val_type, taString& col_nm, MatrixGeom& cell_geom )

create new matrix column of data of specified type, with specified cell geom

Show Source Code

String_Data* DataTable::NewColString ( taString& col_nm )

create new column of string data

Show Source Code

DataCol* DataTable::NewCol_gui ( taBase::ValType val_type, taString& col_nm )

create new scalar column of data of specified type -- void* is NOT currently supported and will fail

Show Source Code

void DataTable::RemoveAllCols ( )

remove all columns (and data)

Show Source Code

void DataTable::RemoveCol ( Variant& col )

removes indicated column

Show Source Code

void DataTable::RemoveOrphanCols ( )

removes all non-pinned marked cols

Show Source Code

bool DataTable::RenameCol ( taString& cur_nm, taString& new_nm )

rename column with current name cur_nm to new name new_nm (returns false if ccur_nm not found)

Show Source Code

void DataTable::Reset ( )

remove all columns (and data) -- this cannot be undone!

Show Source Code

void DataTable::SetColName ( taString& col_nm, int col )

set column name for given column

Show Source Code

bool DataTable::SplitStringToCols ( Variant& string_col, taString& delim = _, taString& col_name_stub )

split a string column to a sequence of separate string columns, by splitting the string by given delimiter -- this can be very useful for unpacking various conditions built into a single string value, so that they can be separately Group'ed upon (see taDataProc::Group function). The first row's string value determines how many columns are created. If col_name_stub is non-empty, it will be used as the basis for the column names, which are sequentially numbered by cell index: stub_0 stub_1... -- otherwise, the original column name will be used with these index suffixes

Show Source Code

int DataTable::cols ( )

number of columns

Show Source Code

Method Category: Config

const Variant DataTable::GetColUserData ( taString& name, Variant& col )

gets user data from the column (col can be an index or a name)

Show Source Code

void DataTable::SetColUserData ( taString& name, Variant& value, Variant& col )

sets user data into the column (col can be an index or a name) -- use this e.g., to configure various parameters that are used by the grid and graph views, such as IMAGE, MIN, MAX, TOP_ZERO

Show Source Code

Method Category: Copy

bool DataTable::CopyCell ( Variant& dest_col, int dest_row, DataTable& src, Variant& src_col, int src_row )

copy one cell (indexed by column, row) from source to this data table in given col,row cell -- is robust to differences in type and matrix sizing (returns false if not successful) -- column can be specified as either integer index or a string that is then used to find the given column name

Show Source Code

void DataTable::CopyFromRow ( int dest_row, DataTable& cp, int src_row )

copy one row from source to given row in this object: source must have exact same column structure as this!!

Show Source Code

void DataTable::Copy_DataOnly ( DataTable& cp )

copy only the data from other data table

Show Source Code

void DataTable::Copy_NoData ( DataTable& cp )

copy only the column structure, but no data, from other data table

Show Source Code

void DataTable::Copy_Properties ( DataTable& cp )

copy only the misc properties of the data table object (flags, auto_load, display settings etc) -- doesn't copy any data, or the name

Show Source Code

Method Category: DMem

void DataTable::DMem_SplitRowsAcrossProcs ( )

split the rows of this table across different processors -- i.e., each processor takes every row % taMisc::ndmem_procs == taMisc::dmem_proc row of this table

Show Source Code

Method Category: DataProc

taString DataTable::ColStats ( Variant& col )

compute standard descriptive statistics on given data table column, returning result as a string of name=value; pairs (e.g., mean=3.2; etc).-- column can be specified as either integer index or a string that is then used to find the given column name

Show Source Code

taString DataTable::ColStatsCol ( DataCol* col )

compute standard descriptive statistics on given data table column, returning result as a string of name=value; pairs (e.g., mean=3.2; etc).

Show Source Code

void DataTable::Filter ( Variant& col1, Relation::Relations operator_1, taString& value_1, Relation::CombOp comb_op = Relation::AND, Variant col2 = -1, Relation::Relations operator_2 = Relation::EQUAL, taString& value_2, Variant col3 = -1, Relation::Relations operator_3 = Relation::EQUAL, taString& value_3 )

Select table rows by specifying up to 3 conditions for which rows to retain in the table (hiding the ones that do not match). Note: you can instantly recover the original full set of rows, unsorted and unfiltered, by using ShowAllRows on the DataTable -- see that function for more details -- to be be able to undo just this Filter you would need to run Flatten first

Show Source Code

void DataTable::FilterAgain ( )

Filter using the last_select_spec;

Show Source Code

bool DataTable::FilterByScript ( taString& filter_expr )

Select table rows by supplying a logical expression -- if it evaluates to true the row remains visible. Refer to columns by name. Note: you can instantly recover the original full set of rows, unsorted and unfiltered, by using ShowAllRows on the DataTable -- see that function for more details -- to be be able to undo just this Filter you would need to run Flatten first

Show Source Code

bool DataTable::FilterBySpec ( DataSelectSpec* spec )

filter the table rows by specifying which rows to retain in the table (hiding the ones that do not match). Note: you can instantly recover the original full set of rows, unsorted and unfiltered, by using ShowAllRows on the DataTable -- see that function for more details -- to be be able to undo just this Filter you would need to run Flatten first

Show Source Code

void DataTable::FilterCol ( DataCol* col1, Relation::Relations operator_1, taString& value_1, Relation::CombOp comb_op = Relation::AND, DataCol* col2 = __null, Relation::Relations operator_2 = Relation::EQUAL, taString& value_2, DataCol* col3 = __null, Relation::Relations operator_3 = Relation::EQUAL, taString& value_3 )

Select table rows by specifying up to 3 conditions for which rows to retain in the table (hiding the ones that do not match). Note: you can instantly recover the original full set of rows, unsorted and unfiltered, by using ShowAllRows on the DataTable -- see that function for more details -- to be be able to undo just this Filter you would need to run Flatten first

Show Source Code

void DataTable::FilterContainsList ( Variant& col, taString& contains_list, bool include_matches = true, taString& delim = )

Select table rows based on whether given column value contains any of the items on contains_list (space or other delim separated list of strings) -- if include_matches then those with any of the matching items on the list are included, otherwise they are excluded. Note: you can instantly recover the original full set of rows, unsorted and unfiltered, by using ShowAllRows on the DataTable -- see that function for more details -- to be be able to undo just this Filter you would need to run Flatten first

Show Source Code

void DataTable::FilterContainsListCol ( DataCol* col, taString& contains_list, bool include_matches = true, taString& delim = )

Select table rows based on whether given column value contains any of the items on contains_list (space or other delim separated list of strings) -- if include_matches then those with any of the matching items on the list are included, otherwise they are excluded. Note: you can instantly recover the original full set of rows, unsorted and unfiltered, by using ShowAllRows on the DataTable -- see that function for more details -- to be be able to undo just this Filter you would need to run Flatten first

Show Source Code

void DataTable::FilterRowNumbers ( int_Matrix* row_list, bool include_rows )

filter table by a list of row numbers to either include or exclude

Show Source Code

void DataTable::FindAll ( taVector2i_List* found_list, taString& search_str, bool contains, bool case_insensitive )

search for all instances of value, matrix and non-matrix columns - contains false means match full string, match full string is always case sensitive

Show Source Code

void DataTable::FindAllScalar ( taVector2i_List* found_list, taString& search_str, bool contains )

search for all instances of value, non-matrix columns - contains false means match full string

Show Source Code

bool DataTable::Flatten ( )

permanently removes any currently invisible data rows and arranges raw memory in current order -- useful for optimizing and locking-in data table size after a series of operations. The DataTable rows are accessed via a set of indexes that are what is actually sorted and filtered by the relevant functions -- *all* access to the DataTable rows goes through the indexes -- so the Flatten function will not change the appearance of the data table, but it can optimize processing in large data tables, and establish the baseline state that the ShowAllRows function will revert to. See also the FlattenTo and ShowAllRows functions.

Show Source Code

bool DataTable::FlattenTo ( DataTable* flattened_table )

copies currently visible rows of data to given table, without including any currently invisible data rows and arranges raw memory in current order -- useful for optimizing and locking-in data table size after a series of operations. The DataTable rows are accessed via a set of indexes that are what is actually sorted and filtered by the relevant functions -- *all* access to the DataTable rows goes through the indexes -- so the FlattenTo function will not change the appearance of the data table, but it can optimize processing in large data tables, and establish the baseline state that the ShowAllRows function will revert to. See also the FlattenTo and ShowAllRows functions.

Show Source Code

bool DataTable::GroupMeanSEM ( DataTable* dest_data, DataCol* gp_col1, DataCol* gp_col2 = __null, DataCol* gp_col3 = __null, DataCol* gp_col4 = __null )

groups data according to given columns in hierarchical fashion (gp_col2 is subgrouped within gp_col1, etc), and compute the Mean and Standard Error of the Mean (SEM) for any other numerical columns of data -- results go in dest_data table (new table created if NULL)

Show Source Code

bool DataTable::HasBeenFiltered ( )

has the table already been filtered

Show Source Code

bool DataTable::HasBeenSorted ( )

has the table already been sorted

Show Source Code

void DataTable::PermuteRows ( int thr_no = -1 )

permute the order of rows in the data table -- randomly shuffles the rows -- this is very efficiently implemented by shuffling the row_indexes lookup table, not the actual rows in memory. Note: you can instantly recover the original full set of rows, unsorted and unfiltered, by using ShowAllRows on the DataTable -- see that function for more details -- to be be able to undo just this Permute you would need to run Flatten first -- (0 <= thr_no < 100) specifies thread or dmem proc number for parallel safe random sequences (-1 = taMisc::dmem_proc for auto-safe dmem)

Show Source Code

void DataTable::Sort ( Variant& col1, bool ascending1 = true, Variant col2 = -1, bool ascending2 = true, Variant col3 = -1, bool ascending3 = true, Variant col4 = -1, bool ascending4 = true, Variant col5 = -1, bool ascending5 = true, Variant col6 = -1, bool ascending6 = true )

sort table according to selected columns of data. Note: you can instantly recover the original full set of rows, unsorted and unfiltered, by using ShowAllRows on the DataTable -- see that function for more details -- to be be able to undo just this sort you would need to run Flatten first

Show Source Code

void DataTable::SortAgain ( )

Sort using the last_sort_spec;

Show Source Code

void DataTable::SortCol ( DataCol* col1, bool ascending1 = true, DataCol* col2 = __null, bool ascending2 = true, DataCol* col3 = __null, bool ascending3 = true, DataCol* col4 = __null, bool ascending4 = true, DataCol* col5 = __null, bool ascending5 = true, DataCol* col6 = __null, bool ascending6 = true )

sort table according to selected columns of data. Note: you can instantly recover the original full set of rows, unsorted and unfiltered, by using ShowAllRows on the DataTable -- see that function for more details -- to be be able to undo just this sort you would need to run Flatten first

Show Source Code

void DataTable::SortUsingSpec ( DataSortSpec& spec )

Call when you already have a spec

Show Source Code

void DataTable::UnFilter ( )

clears last_select_spec and executes ShowAllRows

Show Source Code

Method Category: Display

GraphTableView* DataTable::FindGraphView ( )

find first existing graph view of this table -- NULL if none

Show Source Code

GridTableView* DataTable::FindGridView ( )

find first existing grid view (graphical rows and columns) of this table -- NULL if none

Show Source Code

GraphTableView* DataTable::FindMakeGraphView ( T3Panel* fr = __null, bool select_view = true )

find existing or make a new graph view of this table (NULL=use existing empty frame if any, else make new frame) -- if select_view then existing view tab is selected

Show Source Code

GridTableView* DataTable::FindMakeGridView ( T3Panel* fr = __null, bool select_view = true )

find existing or make a new grid view (graphical rows and columns) of this table (NULL=use existing empty frame if any, else make new frame) -- if select_view then existing view tab is selected

Show Source Code

bool DataTable::GraphViewDefaultStyles ( )

set plots to use the default plot styles

Show Source Code

bool DataTable::GraphViewGotoRow ( int row_no )

move graph view to display starting at given row number -- operates on first graph view found -- use GraphTableView::ViewRow_At on specific view if needed

Show Source Code

bool DataTable::GraphViewLineStyle ( )

set line styles for plots in the graph view

Show Source Code

bool DataTable::GridViewGotoRow ( int row_no )

move grid view to display starting at given row number -- operates on first grid view found -- use GridTableView::ViewRow_At on specific view if needed

Show Source Code

GraphTableView* DataTable::NewGraphView ( T3Panel* fr = __null )

open a graph view of this table (NULL=use existing empty frame if any, else make new frame)

Show Source Code

GridTableView* DataTable::NewGridView ( T3Panel* fr = __null )

open a grid view (graphical rows and columns) of this table (NULL=use existing empty frame if any, else make new frame)

Show Source Code

bool DataTable::RestoreGoodCols ( )

attempt to restore previous column names that were last successfully set and used -- sometimes these cols can get lost due to updates and those columns become null, so this is a chance to restore them

Show Source Code

Method Category: File

void DataTable::AppendData ( taString& fname, DataTable::Delimiters delim = TAB, bool quote_str = true, bool row_mark = true )

appends all of current datatable data to given file (does not output header; file assumed to be of same data structure -- if row_mark then mark data rows with _D: at start (to differentiate from _H: headers)

Show Source Code

void DataTable::CloseDataLog ( )

close the data log file if it was previously open

Show Source Code

void DataTable::ExportData ( taString& fname, DataTable::Delimiters delim = COMMA, bool quote_str = true, bool headers = true )

exports data with given delimiter and string quoting format options in a format suitable for importing into other applications (spreadsheets, etc) -- does NOT include the emergent native header/data row markers and extended header info, so is not good for loading back into emergent (use SaveData for that)

Show Source Code

void DataTable::ExportDataJSON ( taString& fname )

exports data in json format

Show Source Code

taString DataTable::ExportDataText ( taMarkUp::Format fmt )

export data in a textual table format in a variety of formats suitable for inclusion in documents, web pages, wikis etc -- copy and paste result into document

Show Source Code

void DataTable::ImportData ( taString& fname, bool headers = true, DataTable::LoadDelimiters delim = LD_AUTO, DataTable::LoadQuotes quote_str = LQ_AUTO )

imports externally-generated data in delimited text file format -- if headers is selected, then first row is treated as column headers -- auto defaults are typically fine (see also Load Any Data or Load Any Data Append -- same functionality with all AUTO defaults)

Show Source Code

void DataTable::ImportDataJSON ( taString& fname )

load JSON format data (ONLY)

Show Source Code

void DataTable::ImportDataJSONString ( taString& json_as_string )

import json string into data table - api for import when you aren't using the GUI or already have the file stream open

Show Source Code

bool DataTable::IsSavingDataLog ( )

returns true if table is currently saving to a data log file (froom SaveDataLog), or not

Show Source Code

void DataTable::LoadAnyData ( taString& fname, bool headers = true, DataTable::LoadDelimiters delim = LD_AUTO, DataTable::LoadQuotes quote_str = LQ_AUTO, int max_rows = -1, bool reset_first = true )

load any kind of data -- either the Emergent native file format (which has a special header to define columns) or delimited import formats -- auto detect works in most cases for delimiters and string quoting, reset_first = reset any existing data before loading (else append) -- headers option MUST be set correctly for non-Emergent files (no auto detect on that), and it is ignored for Emergent native files (which always have headers)

Show Source Code

void DataTable::LoadAnyData_Append ( taString& fname, bool headers = true )

load any kind of data -- either the Emergent native file format (which has a special header to define columns) or delimited import formats -- auto detects type of delimiters and string quoting -- headers option MUST be set correctly for non-Emergent files (no auto detect on that), and it is ignored for Emergent native files (which always have headers). See ImportData to manually specify delimiters if auto detect doesn't work. See Load Any Data to replace existing data (this function appends to existing)

Show Source Code

void DataTable::LoadAnyData_gui ( taString& fname, bool headers = true )

load any kind of data -- either the Emergent native file format (which has a special header to define columns) or delimited import formats -- auto detects type of delimiters and string quoting -- headers option MUST be set correctly for non-Emergent files (no auto detect on that), and it is ignored for Emergent native files (which always have headers). See ImportData to manually specify delimiters if auto detect doesn't work. See Load Any Data Append to append to existing data (this function resets data first)

Show Source Code

void DataTable::LoadAnyData_stream ( istream& stream, bool append, bool has_header_line = true )

Load any kind of data from an existing stream. File format, delimitation, and quoting are auto-detected, but whether the file has a header line or not must be set explicitly. Set append=false to overwrite any existing data.

Show Source Code

void DataTable::LoadAutoSaved ( )

loads data that was auto saved for cases where you don't want to be prompted and you don't want to auto_load

Show Source Code

void DataTable::LoadData ( taString& fname, DataTable::Delimiters delim = TAB, bool quote_str = true, int max_recs = -1, bool reset_first = true )

load Emergent native format data (ONLY) - has a special header to define columns, up to max num of recs (-1 for all), with delimiter between columns and optionally quoting strings, reset_first = remove any existing data prior to loading -- this is much faster than LoadAnyData, especially noticible for very large data files

Show Source Code

void DataTable::LoadDataFixed ( taString& fname, FixedWidthSpec* fws, bool reset_first = true )

loads data, using the specified fixed-width spec (usually in a Program), reset_first = remove any existing data prior to loading

Show Source Code

int DataTable::LoadDataRow ( taString& fname, DataTable::Delimiters delim = TAB, bool quote_str = true )

load one row of data, up to max num of recs (-1 for all), with delimiter between columns and optionaly quoting strings (returns EOF if strm is at end)

Show Source Code

int DataTable::LoadHeader ( taString& fname, DataTable::Delimiters delim = TAB )

loads header information -- preserves current headers if possible (called from LoadData if header line found) (returns EOF if strm is at end)

Show Source Code

bool DataTable::SaveAllToDataLog ( )

write the entire data table to the data log, if it is open (returns true if successfully wrote) -- useful for logging aggregate data tables that are not written incrementally row-by-row, but are rather generated whole and should be saved in their entirety

Show Source Code

void DataTable::SaveAppendData_Gui ( taString& fname )

appends all of current datatable data to given file in Emergent file format (does not output header; file assumed to be of same data structure)

Show Source Code

void DataTable::SaveData ( taString& fname, DataTable::Delimiters delim = TAB, bool quote_str = true, bool save_headers = true )

saves data, one line per rec, with delimiter between columns, and optionally quoting strings; if save_headers then the _H: header line is saved and data lines have _D:, else they are bare

Show Source Code

void DataTable::SaveDataLog ( taString& fname, bool append = false, bool dmem_proc_0 = true )

incrementally save each new row of data that is written to the datatable (at WriteClose()) to given file. writes the header first if not appending to existing file. if running under demem, dmem_proc_0 determines if only the first processor writes to the log file, or if all processors write

Show Source Code

taString DataTable::SaveDataLogNameFmProject ( taString& ext, taString& tag, taString& subdir, bool dmem_proc_0 = true, bool append = false )

incrementally save each new row of data that is written to the datatable (at WriteClose()) to given file. writes the header first if not appending to existing file. if running under demem, dmem_proc_0 determines if only the first processor writes to the log file, or if all processors write (if all processors write, then filename contains proc no). Gets the file name by calling GetFileNameFmProject with ext extension, special tag name for this run / job, and any subdirectory to append -- returns the file name

Show Source Code

taString DataTable::SaveDataNameFmProject ( taString& ext, taString& tag, taString& subdir, bool dmem_proc_0 = true )

save current data in table to a file using standard Emergent formatting options -- gets the file name by calling GetFileNameFmProject with ext extension, special tag name for this run / job, and any subdirectory to append -- returns the file name

Show Source Code

void DataTable::SaveDataRow ( taString& fname, int row = -1, DataTable::Delimiters delim = TAB, bool quote_str = true, bool row_mark = true )

saves one row of data (-1 = last row), with delimiter between columns, and optionally quoting strings -- if row_mark then mark data rows with _D: at start (to differentiate from _H: headers)

Show Source Code

void DataTable::SaveData_Gui ( taString& fname )

saves data in the default Emergent file format

Show Source Code

void DataTable::SaveHeader ( taString& fname, DataTable::Delimiters delim = TAB )

saves header information in Emergent file format, with delimiter between columns

Show Source Code

void DataTable::SaveHeader_Gui ( taString& fname )

saves saves header information in Emergent file format

Show Source Code

bool DataTable::WriteDataLogRow ( )

write the current row to the data log, if it is open (returns true if successfully wrote) -- this is automatically called by WriteClose

Show Source Code

Method Category: Modify

bool DataTable::InitVals ( Variant& init_val, Variant& col, int st_row = 0, int n_rows = -1 )

initialize all values in given column to given value -- column can be specified as either integer index or a string that is then used to find the given column name -- for rows as specified by starting row, and n_rows = -1 means to the end

Show Source Code

bool DataTable::InitValsByIncrement ( const float first_value, const float increment, Variant& col, int st_row = 0, int n_rows = -1 )

initialize all values in given column to be equal to some starting values plus some increment -- column can be specified as either integer index or a string that is then used to find the given column name -- for rows as specified by starting row, and n_rows = -1 means to the end

Show Source Code

bool DataTable::InitValsToRowNo ( Variant& col, int st_row = 0, int n_rows = -1 )

initialize all values in given column to be equal to the row number -- column can be specified as either integer index or a string that is then used to find the given column name -- for rows as specified by starting row, and n_rows = -1 means to the end

Show Source Code

bool DataTable::SetData ( Variant& data, Variant& col )

set data from given column number or name at current write_idx row number -- see WriteItem, WriteNext for updating the write_idx index

Show Source Code

bool DataTable::SetMatrixCellData ( Variant& data, Variant& col, int cell )

set the data for given Matrix channel cell (flat index into matrix values) at current write_idx row number -- see WriteItem, WriteNext for updating the write_idx index -- returns true if successful

Show Source Code

bool DataTable::SetMatrixData ( taMatrix* data, Variant& col )

set the data for given Matrix column at current write_idx row number -- see WriteItem, WriteNext for updating the write_idx index -- returns true if successful

Show Source Code

bool DataTable::SetMatrixFlatVal ( Variant& val, Variant& col, int row, int cell )

set data of matrix type, in Variant form (any data type, use for Programs), for given column, row, and matrix flat cell index (regardless of dimensions) -- column can be specified as either integer index or a string that is then used to find the given column name; returns 'true' if valid access and set is successful

Show Source Code

bool DataTable::SetMatrixVal ( Variant& val, Variant& col, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0 )

set data of matrix type, in Variant form (any data type, use for Programs), for given column, row, and matrix dimension indicies -- column can be specified as either integer index or a string that is then used to find the given column name; returns 'true' if valid access and set is successful

Show Source Code

bool DataTable::SetVal ( Variant& val, Variant& col, int row )

set data in Variant form (any data type, use for Programs), for given column, row -- column can be specified as either integer index or a string that is then used to find the given column name; returns 'true' if valid access and set is successful -- works for both matrix and scalar columns (sets all values of matrix to same value)

Show Source Code

bool DataTable::SetValAsMatrix ( taMatrix* val, Variant& col, int row )

set a matrix cell to values in given matrix val -- checks that the matrix has the proper geometry as the column's cells -- val can be of a different type than the data table column (it will just be a bit slower than if the type matches)

Show Source Code

bool DataTable::SetValAsMatrixColName ( taMatrix* val, taString& col_name, int row, bool quiet = false )

set a matrix cell to values in given matrix val -- checks that the matrix has the proper geometry as the column's cells -- val can be of a different type than the data table column (it will just be a bit slower than if the type matches)

Show Source Code

Method Category: ObjectMgmt

void DataTable::ClearDataFlag ( DataTable::DataFlags flg )

clear data table flag state (set off)

Show Source Code

taString taNBase::GetName ( )

Get the name of the object

Show Source Code

bool DataTable::HasDataFlag ( DataTable::DataFlags flg )

check if data table flag is set

Show Source Code

bool taNBase::HasName ( )

does the object have a name field that can be set?

Show Source Code

void taNBase::MakeNameUnique ( )

make sure my name is unique relative to names of objects associated with my owner (e.g., if it is a list object), typically because my name has changed, and owner needs to ensure that all names are unique

Show Source Code

void DataTable::SetDataFlag ( DataTable::DataFlags flg )

set data table flag state on

Show Source Code

void DataTable::SetDataFlagState ( DataTable::DataFlags flg, bool on )

set data table flag state according to on bool (if true, set flag, if false, clear it)

Show Source Code

bool taNBase::SetName ( taString& nm )

Set the object's name

Show Source Code

void DataTable::ToggleDataFlag ( DataTable::DataFlags flg )

toggle data table flag relative to its current setting

Show Source Code

void DataTable::UniqueColNames ( )

ensure that the column names are all unique (adds _n for repeats)

Show Source Code

Method Category: Rows

int DataTable::AddBlankRow ( )

add a new row to the data table, sets read (source) and write (sink) index to this last row (as in ReadItem or WriteItem), so that subsequent data routines refer to this new row, and returns row

Show Source Code

int DataTable::AddRow ( )

add a new row to the data table, sets read (source) and write (sink) index to this last row (as in ReadItem or WriteItem), so that subsequent data routines refer to this new row, and returns row

Show Source Code

bool DataTable::AddRows ( int n = 1 )

add n rows, returns true if successfully added

Show Source Code

void DataTable::AllocRows ( int n )

allocate space for at least n rows

Show Source Code

bool DataTable::AppendRows ( DataTable* append_from )

append rows from another data table -- this is also available in taDataProc and in the GUI as a drag-and-drop action (appends rows of dropped item onto dropped item)

Show Source Code

bool DataTable::AppendRowsCopyFirst ( DataTable* append_from )

append rows from another data table -- if this table has no data, then do a CopyFrom instead of append rows, which is a good general motif for aggregating data from another table whose columns may change over time, ensuring that the aggregator always has the same columns -- this is also available in the GUI as a drag-and-drop action (appends rows of dropped item onto dropped item)

Show Source Code

void DataTable::ClearCompareRows ( )

reset the base row and the list

Show Source Code

void DataTable::CompareRows ( int st_row, int n_rows )

compare cell values in selected rows (first selected row to all others) does not test matrices

Show Source Code

bool DataTable::CompareRowsState ( )

is compare rows turned on or was the last call to clear compare rows

Show Source Code

bool DataTable::DuplicateRow ( int row_no, int n_copies = 1 )

duplicate given row number, making given number of copies of it (adds new rows at the end)

Show Source Code

bool DataTable::DuplicateRows ( int st_row, int n_rows = 1 )

copy the n_rows starting from st_row and insert them immediately after selected rows

Show Source Code

void DataTable::EnforceRows ( int n_rows )

ensure that there are exactly n_rows in the table, removing or adding as needed

Show Source Code

bool DataTable::InsertRows ( int st_row, int n_rows = 1 )

insert n rows at starting row number, returns true if successfully inserted

Show Source Code

bool DataTable::InsertRowsAfter ( int st_row, int n_rows = 1 )

insert N rows after st_row + n_rows, returns true if successfully inserted

Show Source Code

int DataTable::ItemCount ( )

number of items (rows) of data in the table

Show Source Code

void DataTable::MoveRow ( int old_index, int new_index )

should only be called internally - does not handle negative index values!

Show Source Code

bool DataTable::ReadAvailable ( )

true when a valid item is available for reading by GetData routines (which use read_idx for their row number)

Show Source Code

bool DataTable::ReadFirst ( )

(re-)initializes sequential read iteration, reads first item so that it is now available for GetData routines (false if no items available)

Show Source Code

int DataTable::ReadIndex ( )

index of current row to read from by GetData routines (which use read_idx for their row number)

Show Source Code

bool DataTable::ReadItem ( int idx )

goes directly (random access) to row idx (- = count back from last row available, otherwise must be in range 0 <= idx < rows) so that it is now available for GetData routines (which use read_idx for their row number), returns true if row exists and was read

Show Source Code

bool DataTable::ReadNext ( )

read next item of data (sequential access) so that it is now available for GetData routines (which use read_idx for their row number) -- returns true if item available

Show Source Code

void DataTable::RemoveAllRows ( )

remove all of the rows of data, but keep the column structure

Show Source Code

bool DataTable::RemoveRows ( int st_row, int n_rows = 1 )

Remove n rows of data, starting at st_row. st_row = -1 means last row, and n_rows = -1 means remove from starting row to end, n_rows = -2 means remove upto and including the next to last row, etc.

Show Source Code

void DataTable::ResetData ( )

deletes all the data (rows), but keeps the column structure -- this cannot be undone!

Show Source Code

void DataTable::ResetRowIndexes ( )

reset the row indexes to be 0..rows-1 to reflect the full extent of the natural underlying data in the table

Show Source Code

void DataTable::ShowAllRows ( )

show all available rows of data in the table, in their original raw order, effectively undoing any prior sort, filter, or row removal functions -- the DataTable rows are accessed via a set of indexes that are what is actually sorted and filtered by the relevant functions. Therefore, you can instantly regain access to the original unsorted and unfiltered rows of data by resetting these indexes to be in one-to-one correspondence with the raw data stored in the table. Note that *all* access to the DataTable rows goes through the indexes -- it is not possible to otherwise access the raw data directly. See also the Flatten function.

Show Source Code

void DataTable::ToggleSaveRows ( )

toggle the SAVE_ROWS flag to opposite of current state: flag indicates whether data rows should be saved or not within the project (often useful to save room by not saving temp data)

Show Source Code

bool DataTable::WriteAvailable ( )

true when a valid item is available for writing by SetData routines (which use write_idx for their row number)

Show Source Code

void DataTable::WriteClose ( )

closes up a write operation -- call when done writing data -- performs any post-writing cleanup/closing of files, etc

Show Source Code

bool DataTable::WriteFirst ( )

(re-)initializes sequential write iteration, makes first item of data available for writing with SetData routines (false if no items available)

Show Source Code

int DataTable::WriteIndex ( )

index of current row to write to SetData routines (which use write_idx for their row number)

Show Source Code

bool DataTable::WriteItem ( int idx )

goes directly (random access) to item idx (in range 0 <= idx < rows) for SetData writing routines (which use write_idx for their row number), if 1+end, adds a new item; true if item available

Show Source Code

bool DataTable::WriteNext ( )

goes to next item of data (sequential acccess) for writing by SetData routines, creating a new one if at end; true if item available

Show Source Code

bool DataTable::hasData ( int col, int row )

true if data at that cell

Show Source Code

bool DataTable::idx ( int row_num, int& act_idx )

pass in the current row as viewed and get back the 'true' row

Show Source Code

Method Category: SubMatrix

void DataTable::ReadToSubMatrixTable ( Variant& col, int row, DataTable* submat_dest, Variant& submat_dest_col, int submat_dest_row, taMatrix::RenderOp render_op = taMatrix::COPY, int off0 = 0, int off1 = 0, int off2 = 0, int off3 = 0, int off4 = 0, int off5 = 0, int off6 = 0 )

for making larger patterns out of smaller ones (sub-matricies) and vice-versa: read from matrix cell in this table at given col, row, to dest sub-matrix cell (typically of smaller size) in submat_dest table at submat_dest_col, submat_dest_row, using given render operation to combine source and destination values, starting at given offsets in this matrix (safely manages range issues, clipping out of bounds) -- uses Variant interface, so type conversion between matricies is automatic, with some overhead cost

Show Source Code

void DataTable::ReadToSubMatrixTableLookup ( Variant& col, int row, DataTable* submat_dest, Variant& submat_dest_col, Variant submat_lookup_val, Variant& submat_lookup_col, taMatrix::RenderOp render_op, DataTable* offset_lookup, Variant offset_col, Variant& offset_lookup_val, Variant& offset_lookup_col )

for making larger patterns out of smaller ones (sub-matricies) and vice-versa: read from matrix cell in this table at given col, row, to dest sub-matrix cell (typically of smaller size) in submat_dest table at submat_dest_col, at row given by looking up submat_loop_val in submat_lookup_col, using given render operation to combine source and destination values, starting at offsets found in a matrix cell in offset_lookup table, searching in lookup_col for value lookup_val to select the row, and getting the offsets from column offset_col

Show Source Code

void DataTable::WriteFmSubMatrixTable ( Variant& col, int row, DataTable* submat_src, Variant& submat_src_col, int submat_src_row, taMatrix::RenderOp render_op = taMatrix::COPY, int off0 = 0, int off1 = 0, int off2 = 0, int off3 = 0, int off4 = 0, int off5 = 0, int off6 = 0 )

for making larger patterns out of smaller ones (sub-matricies) and vice-versa: write to matrix cell in this table at given col, row, from source sub-matrix cell (typically of smaller size) in submat_src table at given submat_src_col, submat_src_row, using given render operation to combine source and destination values, starting at given offsets in this matrix (safely manages range issues, clipping out of bounds) -- uses Variant interface, so type conversion between matricies is automatic, with some overhead cost

Show Source Code

void DataTable::WriteFmSubMatrixTableLookup ( Variant& col, int row, DataTable* submat_src, Variant& submat_src_col, Variant submat_lookup_val, Variant& submat_lookup_col, taMatrix::RenderOp render_op, DataTable* offset_lookup, Variant offset_col, Variant& offset_lookup_val, Variant& offset_lookup_col )

for making larger patterns out of smaller ones (sub-matricies) and vice-versa: write to matrix cell in this table at given col, row, from source sub-matrix cell (typically of smaller size) in submat_src table at given submat_src_col, at row given by looking up submat_loop_val in submat_lookup_col, using given render operation to combine source and destination values, starting at offsets found in a matrix cell in offset_lookup table, searching in lookup_col for value lookup_val to select the row, and getting the offsets from column offset_col

Show Source Code

Method Category: UserData

void taOBase::RemoveAllUserData ( )

get rid of our user data list entirely -- this is done automatically when saving something that has no user data items, but you can also force it with this method -- deletes the whole list

Show Source Code

Method Category: _NoCategory

bool taNBase::AddFromTemplate ( taBase* obj, bool& is_acceptable )

handles drops from toolbar - when adding an object to a program, network, etc - e.g. dropping generic data table onto a program - set is_acceptable for objects 'not handled' but which are acceptable

Show Source Code

const Variant DataTable::GetDataByName ( taString& ch_nm )

OBSOLETE - only here to get old projects to run

Show Source Code

taBase* taOBase::GetOwner ( )

Show Source Code

TypeDef* DataTable::GetTypeDef ( )

Show Source Code

void DataTable::RefreshViews ( )

Show Source Code

bool DataTable::SetDataByName ( Variant& data, taString& ch_nm )

OBSOLETE - only here to get old projects to run

Show Source Code

taSigLink** taOBase::addr_sig_link ( )

Show Source Code

Method Category: stats

bool DataTable::RunAnalysis ( DataCol* column, AnalysisRun::AnalysisType type )

Run an analysis of specified type on the specified column

Show Source Code

Static Member and Method Documentation

Static Members

Static Methods

Static Method Category: Columns


Static Method Documentation

Static Method Category: Columns

bool DataTable::ColMatchesSpec ( DataCol* da, DataColSpec* cs )   [static]

returns 'true' if the col has the same name and a compatible data type

Show Source Code

Expert Member and Method Documentation

Expert Members

Expert Member Category: Access

Expert Member Category: _NoCategory

Expert Member Category: taBase

Expert Methods

Expert Method Category: Access

Expert Method Category: Columns

Expert Method Category: Copy

Expert Method Category: DataProc

Expert Method Category: File

Expert Method Category: Modify

Expert Method Category: Obsolete

Expert Method Category: Rows

Expert Method Category: SubMatrix

Expert Method Category: UserData

Expert Method Category: _NoCategory


Expert Member Documentation

Expert Member Category: Access

DataTable::row_indexes : int_Matrix

array with indicies providing view into rows in this datatable -- ALL DATA ACCESS GOES THROUGH THESE indexes and it is always kept up to date

Expert Member Category: _NoCategory

DataTable::base_diff_row : int

When comparing cell values this is the row to compare against

DataTable::cell_view : taString

contents of a given cell, for viewing purposes (View menu action)

DataTable::data : DataTableCols

all the columns and actual data

DataTable::diff_row_list : int_Array

When comparing cell values this is the list of rows compared against base_diff_row

DataTable::json_error_msg : taString

Holds last error message so client can check message if error returned

DataTable::keygen : Variant

64bit int used to generate keys; advance to get next key; only reset if all data reset

DataTable::last_select_spec : DataSelectSpec

the last table sort specification

DataTable::last_sort_spec : DataSortSpec

the last table sort specification

DataTable::log_file : taFiler*

file for logging data incrementally as it is written -- only for output. A new line is written when WriteClose() is called.

DataTable::row_with_hilite : int

-1 means no row is highlighted - uses underlying index to be robust to sort and filter

DataTable::rows_total : int

The number of rows of actual data (visible or hidden)

Expert Member Category: taBase

taFBase::file_name : taString

The most recent file saved or loaded in association with this object.

taOBase::owner : taBase*

pointer to owner

taOBase::user_data_ : UserDataItem_List*

storage for user data (created if needed) DO NOT ACCESS this list directly -- use the GetUserData / SetUserData etc interface!


Expert Method Documentation

Expert Method Category: Access

int DataTable::FindMultiValCol ( int st_row, Variant& val1, DataCol* col1, Variant& val2 = 0, DataCol* col2 = __null, Variant& val3 = 0, DataCol* col3 = __null, Variant& val4 = 0, DataCol* col4 = __null, Variant& vall5 = 0, DataCol* col5 = __null, Variant& val6 = 0, DataCol* col6 = __null )

find row number for multiple values across different columns of scalar type, starting at given starting row number. if st_row < 0 then the search proceeds backwards from that many rows from end (-1 = end)

Show Source Code

int DataTable::FindMultiValColName ( int st_row, Variant& val1, taString& col_name1, Variant& val2 = 0, taString& col_name2, Variant& val3 = 0, taString& col_name3, Variant& val4 = 0, taString& col_name4, Variant& vall5 = 0, taString& col_name5, Variant& val6 = 0, taString& col_name6 )

find row number for multiple values across different columns of scalar type, starting at given starting row number. if st_row < 0 then the search proceeds backwards from that many rows from end (-1 = end)

Show Source Code

int DataTable::FindValCol ( DataCol* col, Variant& val, int st_row = 0 )

find row number for given value within column col of scalar type (use for Programs), starting at given starting row number. if st_row < 0 then the search proceeds backwards from that many rows from end (-1 = end)

Show Source Code

int DataTable::FindValColName ( Variant& val, taString& col_name, int st_row = 0 )

find row number for given value within column col of scalar type (use for Programs), starting at given starting row number. if st_row < 0 then the search proceeds backwards from that many rows from end (-1 = end)

Show Source Code

const Variant DataTable::GetMatrixFlatValColName ( taString& col_name, int row, int cell, bool quiet = false )

get data of matrix type, in Variant form (any data type, use for Programs), for given column name, row, and flat matrix cell index (flat index into elements of the matrix, regardless of dimensionality) -- quiet = fail quietly

Show Source Code

const Variant DataTable::GetMatrixFlatValColRowName ( taString& col_name, taString& row_col_name, Variant& row_value, int cell, bool quiet = false )

get data of matrix type, in Variant form (any data type, use for Programs), for given column name, row, and matrix cell index (flat index into matrix cells) -- quiet = fail quietly

Show Source Code

const Variant DataTable::GetMatrixValColName ( taString& col_name, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0, bool quiet = false )

get data of matrix type, in Variant form (any data type, use for Programs), for given column name, row, and matrix dimension indicies -- quiet = fail quietly

Show Source Code

const Variant DataTable::GetMatrixValColRowName ( taString& col_name, taString& row_col_name, Variant& row_value, int d0, int d1 = 0, int d2 = 0, int d3 = 0, bool quiet = false )

get data of matrix type, in Variant form (any data type, use for Programs), for given column name, row, and matrix dimension indicies -- quiet = fail quietly

Show Source Code

taMatrix* DataTable::GetRangeAsMatrix ( Variant& col, int st_row, int n_rows )

get data as a Matrix for a range of rows, for given column, st_row, and n_rows; row; Invalid/NULL if no cell; must do taBase::Ref(mat) and taBase::unRefDone(mat) on return value surrounding use of it; note: not const because you can write it

Show Source Code

bool DataTable::GetValAsBool ( Variant& col, int row )

get data of scalar type, in bool form, for given col, row; if data is NULL, then false is returned

Show Source Code

bool DataTable::GetValAsBoolM ( Variant& col, int row, int cell )

get data of matrix type, in bool form, for given col, row, and cell (flat index) in matrix; if data is NULL, then false is returned

Show Source Code

bool DataTable::GetValAsBoolMDims ( Variant& col, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0 )

get data of matrix type, in bool form, for given col, row, and cell (flat index) in matrix; if data is NULL, then 0 is returned

Show Source Code

double DataTable::GetValAsDouble ( Variant& col, int row )

get data of scalar type, in double form, for given col, row; if data is NULL, then 0 is returned

Show Source Code

double DataTable::GetValAsDoubleM ( Variant& col, int row, int cell )

get data of matrix type, in double form, for given col, row, and cell (flat index) in matrix; if data is NULL, then 0 is returned

Show Source Code

double DataTable::GetValAsDoubleMDims ( Variant& col, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0 )

get data of matrix type, in double form, for given col, row, and cell (flat index) in matrix; if data is NULL, then 0 is returned

Show Source Code

float DataTable::GetValAsFloat ( Variant& col, int row )

get data of scalar type, in float form, for given col, row; if data is NULL, then 0 is returned

Show Source Code

float DataTable::GetValAsFloatM ( Variant& col, int row, int cell )

get data of matrix type, in float form, for given col, row, and cell (flat index) in matrix; if data is NULL, then 0 is returned

Show Source Code

float DataTable::GetValAsFloatMDims ( Variant& col, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0 )

get data of matrix type, in float form, for given col, row, and cell (flat index) in matrix; if data is NULL, then 0 is returned

Show Source Code

int DataTable::GetValAsInt ( Variant& col, int row )

get data of scalar type, in int form, for given col, row; if data is NULL, then 0 is returned

Show Source Code

int DataTable::GetValAsIntM ( Variant& col, int row, int cell )

get data of matrix type, in int form, for given col, row, and cell (flat index) in matrix; if data is NULL, then 0 is returned

Show Source Code

int DataTable::GetValAsIntMDims ( Variant& col, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0 )

get data of matrix type, in int form, for given col, row, and cell (flat index) in matrix; if data is NULL, then 0 is returned

Show Source Code

taMatrix* DataTable::GetValAsMatrixColRowName ( taString& col_name, taString& row_col_name, Variant& row_value, bool quiet = false )

get data of matrix type, in Matrix form (one frame), for given column name, and row by looking up row_value in column named row_col_name; for Program usage, assign to a LocalVars Matrix* variable, NOT a global vars variable, at the appropriate scope where the matrix will be used, (e.g., if within a loop, put variable in the loop_code of the loop), so that the local variable will be deleted automatically, to free the memory associated with the Matrix when it is no longer needed

Show Source Code

const taString DataTable::GetValAsString ( Variant& col, int row )

get data of scalar type, in String form, for given column, row; if data is NULL, then 'n/a' is returned

Show Source Code

const taString DataTable::GetValAsStringM ( Variant& col, int row, int cell, bool na = true )

get data of matrix type, in String form, for given column, row, and cell (flat index) in matrix; if data is NULL, then na='n/a' else '' is returned

Show Source Code

const taString DataTable::GetValAsStringMDims ( Variant& col, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0, bool na = true )

get data of matrix type, in String form, for given column, row, and cell (flat index) in matrix; if data is NULL, then na='n/a' else '' is returned

Show Source Code

const Variant DataTable::GetValAsVar ( Variant& col, int row )

get data of scalar type, in Variant form, for given column, row

Show Source Code

const Variant DataTable::GetValAsVarM ( Variant& col, int row, int cell )

get data of matrix type, in Variant form, for given column, row, and cell (flat index) in matrix

Show Source Code

const Variant DataTable::GetValAsVarMDims ( Variant& col, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0 )

get data of matrix type, in Variant form, for given column, row, and matrix dimension indicies

Show Source Code

const Variant DataTable::GetValColName ( taString& col_name, int row, bool quiet = false )

get data of scalar type, in Variant form (any data type, use for Programs), for given column name, row -- quiet = fail quietly

Show Source Code

const Variant DataTable::GetValColRowName ( taString& col_name, taString& row_col_name, Variant& row_value, bool quiet = false )

get data of scalar type, in Variant form (any data type, use for Programs), for given column name, and row by looking up row_value in column named row_col_name -- quiet = fail quietly

Show Source Code

Expert Method Category: Columns

DataCol* DataTable::FindMakeColName ( taString& col_nm, int& col_idx, taBase::ValType val_type, int dims = 0, int d0 = 0, int d1 = 0, int d2 = 0, int d3 = 0, int d4 = 0, int d5 = 0, int d6 = 0 )

find a column of the given name, val type, and dimension. if one does not exist, then create it. Note that dims < 1 means make a scalar column, not a matrix

Show Source Code

bool DataTable::InitValsByIncrementCol ( DataCol* col, const int first_value, const int increment, int st_row = 0, int n_rows = -1 )

initialize all values in given column to be equal to the row number times some integer increment plus an initial starting value -- only valid for scalar (not matrix) columns -- for rows as specified by starting row, and n_rows = -1 means to the end

Show Source Code

bool DataTable::InitValsCol ( DataCol* col, Variant& init_val, int st_row = 0, int n_rows = -1 )

initialize all values in given column to given value -- for rows as specified by starting row, and n_rows = -1 means to the end

Show Source Code

bool DataTable::InitValsToRowNoCol ( DataCol* col, int st_row = 0, int n_rows = -1 )

initialize all values in given column to be equal to the row number -- only valid for scalar (not matrix) columns -- for rows as specified by starting row, and n_rows = -1 means to the end

Show Source Code

bool DataTable::MatrixColFmScalarsCol ( DataCol* mtx_col, taString& scalar_col_name_stub )

convert a sequence of scalar columns to a matrix column -- if scalar_col_name_stub is non-empty, it will be used as the basis for the column names, which are sequentially numbered by cell index: stub_0 stub_1... -- otherwise, all non-matrix fields with same value type as the matrix column will be used -- matrix column must already exist and be configured properly

Show Source Code

bool DataTable::MatrixColToScalarsCol ( DataCol* mtx_col, taString& scalar_col_name_stub )

convert a matrix column to a sequence of (new) scalar columns (existing cols are used too) -- if scalar_col_name_stub is non-empty, it will be used as the basis for the column names, which are sequentially numbered by cell index: stub_0 stub_1... -- otherwise, the original column name will be used with these index suffixes

Show Source Code

bool DataTable::SplitStringToColsCol ( DataCol* string_col, taString& delim = _, taString& col_name_stub )

split a string column to a sequence of separate string columns, by splitting the string by given delimiter -- this can be very useful for unpacking various conditions built into a single string value, so that they can be separately Group'ed upon (see taDataProc::Group function). The first row's string value determines how many columns are created. If col_name_stub is non-empty, it will be used as the basis for the column names, which are sequentially numbered by cell index: stub_0 stub_1... -- otherwise, the original column name will be used with these index suffixes

Show Source Code

Expert Method Category: Copy

bool DataTable::CopyCellName ( taString& dest_col_name, int dest_row, DataTable& src, taString& src_col_name, int src_row )

copy one cell (indexed by column, row) from source to this data table in given col,row cell -- is robust to differences in type and matrix sizing (returns false if not successful)

Show Source Code

Expert Method Category: DataProc

taString DataTable::ColStatsName ( taString& col_name )

compute standard descriptive statistics on given data table column, returning result as a string of name=value; pairs (e.g., mean=3.2; etc).

Show Source Code

void DataTable::SortColName ( taString& col1, bool ascending1 = true, taString& col2, bool ascending2 = true, taString& col3, bool ascending3 = true, taString& col4, bool ascending4 = true, taString& col5, bool ascending5 = true, taString& col6, bool ascending6 = true )

sort table according to selected columns of data. Note: you can instantly recover the original full set of rows, unsorted and unfiltered, by using ShowAllRows on the DataTable -- see that function for more details -- to be be able to undo just this sort you would need to run Flatten first

Show Source Code

Expert Method Category: File

void DataTable::ExportData_strm ( ostream& strm, DataTable::Delimiters delim = COMMA, bool quote_str = true, bool headers = true )

exports data with given delimiter and string quoting format options in a format suitable for importing into other applications (spreadsheets, etc) -- does NOT include the emergent native header/data row markers and extended header info, so is not good for loading back into emergent (use SaveData for that)

Show Source Code

void DataTable::ExportHeader_strm ( ostream& strm, DataTable::Delimiters delim = TAB, bool quote_str = true, int col_fr = 0, int col_to = -1 )

saves header information, with delimiter between columns

Show Source Code

int DataTable::LoadDataRow_strm ( istream& strm, DataTable::Delimiters delim = TAB, bool quote_str = true )

load one row of data, up to max num of recs (-1 for all), with delimiter between columns and optionaly quoting strings (returns EOF if strm is at end)

Show Source Code

void DataTable::LoadData_strm ( istream& strm, DataTable::Delimiters delim = TAB, bool quote_str = true, int max_recs = -1 )

loads data, up to max num of recs (-1 for all), with delimiter between columns and optionaly quoting strings

Show Source Code

int DataTable::LoadHeader_strm ( istream& strm, DataTable::Delimiters delim = TAB )

loads header information -- preserves current headers if possible (called from LoadData if header line found) (returns EOF if strm is at end) -- note: Emergent-native does not use quotes in header line and quote_str is ignore when native=true

Show Source Code

void DataTable::SaveDataRow_strm ( ostream& strm, int row = -1, DataTable::Delimiters delim = TAB, bool quote_str = true, bool row_mark = true, int col_fr = 0, int col_to = -1 )

saves one row of data (-1 = last row), with delimiter between columns, and optionally quoting strings; -ve cols/rows are relative to end -- if row_mark then mark data rows with _D: at start (to differentiate from _H: headers)

Show Source Code

void DataTable::SaveDataRows_strm ( ostream& strm, DataTable::Delimiters delim = TAB, bool quote_str = true, bool row_mark = true )

saves all rows of data (no header) with delimiter between columns, and optionally quoting strings -- if row_mark then mark data rows with _D: at start (to differentiate from _H: headers)

Show Source Code

void DataTable::SaveData_strm ( ostream& strm, DataTable::Delimiters delim = TAB, bool quote_str = true, bool save_headers = true )

saves data, one line per rec, with delimiter between columns, and optionally quoting strings -- if save-headers then special _H: formatted column header information is saved and data rows are marked with _D:

Show Source Code

void DataTable::SaveHeader_strm ( ostream& strm, DataTable::Delimiters delim = TAB, bool row_mark = true, int col_fr = 0, int col_to = -1 )

saves header information, with delimiter between columns, and optional row_mark _H:

Show Source Code

Expert Method Category: Modify

bool DataTable::InitValsByIncrementColName ( const float first_value, const float increment, taString& col_name, int st_row = 0, int n_rows = -1 )

initialize all values in column of given name to be equal to the row number -- only valid for scalar (not matrix) columns

Show Source Code

bool DataTable::InitValsColName ( Variant& init_val, taString& col_name, int st_row = 0, int n_rows = -1 )

initialize all values in column of given name to given value

Show Source Code

bool DataTable::InitValsToRowNoColName ( taString& col_name, int st_row = 0, int n_rows = -1 )

initialize all values in column of given name to be equal to the row number -- only valid for scalar (not matrix) columns

Show Source Code

bool DataTable::SetMatrixFlatValColName ( Variant& val, taString& col_name, int row, int cell, bool quiet = false )

set data of matrix type, in Variant form (any data type, use for Programs), for given column, row, and flat matrix cell index (flat index into elements of the matrix, regardless of dimensionality); returns 'true' if valid access and set is successful -- quiet = fail quietly

Show Source Code

bool DataTable::SetMatrixFlatValColRowName ( Variant& val, taString& col_name, taString& row_col_name, Variant& row_value, int cell, bool quiet = false )

set data of matrix type, in Variant form (any data type, use for Programs), for given column, row, and matrix cell index (flat index into matrix cells); returns 'true' if valid access and set is successful -- quiet = fail quietly

Show Source Code

bool DataTable::SetMatrixValColName ( Variant& val, taString& col_name, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0, bool quiet = false )

set data of matrix type, in Variant form (any data type, use for Programs), for given column, row, and matrix dimension indicies; returns 'true' if valid access and set is successful -- quiet = fail quietly

Show Source Code

bool DataTable::SetMatrixValColRowName ( Variant& val, taString& col_name, taString& row_col_name, Variant& row_value, int d0, int d1 = 0, int d2 = 0, int d3 = 0, bool quiet = false )

set data of matrix type, in Variant form (any data type, use for Programs), for given column, row, and matrix dimension indicies; returns 'true' if valid access and set is successful -- quiet = fail quietly

Show Source Code

bool DataTable::SetValAsBool ( bool val, Variant& col, int row )

set data of scalar type, in bool form, for given column, row; does nothing if no cell' 'true' if set

Show Source Code

bool DataTable::SetValAsBoolM ( bool val, Variant& col, int row, int cell )

set data of matrix type, in bool form, for given column, row, and cell (flat index) in matrix; does nothing if no cell' 'true' if set

Show Source Code

bool DataTable::SetValAsBoolMDims ( bool val, Variant& col, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0 )

set data of matrix type, in bool form, for given column, row, and cell (flat index) in matrix; does nothing if no cell' 'true' if set

Show Source Code

bool DataTable::SetValAsDouble ( double val, Variant& col, int row )

set data of scalar type, in double form, for given column, row; does nothing if no cell' 'true' if set

Show Source Code

bool DataTable::SetValAsDoubleM ( double val, Variant& col, int row, int cell )

set data of matrix type, in double form, for given column, row, and cell (flat index) in matrix; does nothing if no cell' 'true' if set

Show Source Code

bool DataTable::SetValAsDoubleMDims ( double val, Variant& col, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0 )

set data of matrix type, in double form, for given column, row, and cell (flat index) in matrix; does nothing if no cell' 'true' if set

Show Source Code

bool DataTable::SetValAsFloat ( float val, Variant& col, int row )

set data of scalar type, in float form, for given column, row; does nothing if no cell' 'true' if set

Show Source Code

bool DataTable::SetValAsFloatM ( float val, Variant& col, int row, int cell )

set data of matrix type, in float form, for given column, row, and cell (flat index) in matrix; does nothing if no cell' 'true' if set

Show Source Code

bool DataTable::SetValAsFloatMDims ( float val, Variant& col, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0 )

set data of matrix type, in float form, for given column, row, and cell (flat index) in matrix; does nothing if no cell' 'true' if set

Show Source Code

bool DataTable::SetValAsInt ( int val, Variant& col, int row )

set data of scalar type, in int form, for given column, row; does nothing if no cell' 'true' if set

Show Source Code

bool DataTable::SetValAsIntM ( int val, Variant& col, int row, int cell )

set data of matrix type, in int form, for given column, row, and cell (flat index) in matrix; does nothing if no cell' 'true' if set

Show Source Code

bool DataTable::SetValAsIntMDims ( int val, Variant& col, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0 )

set data of matrix type, in int form, for given column, row, and cell (flat index) in matrix; does nothing if no cell' 'true' if set

Show Source Code

bool DataTable::SetValAsString ( taString& val, Variant& col, int row )

set data of scalar type, in String form, for given column, row; does nothing if no cell; 'true if set

Show Source Code

bool DataTable::SetValAsStringM ( taString& val, Variant& col, int row, int cell )

set data of matrix type, in String form, for given column, row, and cell (flat index) in matrix; does nothing if no cell; 'true if set

Show Source Code

bool DataTable::SetValAsStringMDims ( taString& val, Variant& col, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0 )

set data of matrix type, in String form, for given column, row, and cell (flat index) in matrix; does nothing if no cell; 'true if set

Show Source Code

bool DataTable::SetValAsVar ( Variant& val, Variant& col, int row )

set data of scalar type, in Variant form, for given column, row; returns 'true' if valid access and set is successful

Show Source Code

bool DataTable::SetValAsVarM ( Variant& val, Variant& col, int row, int cell )

set data of matrix type, in Variant form, for given column, row, and cell (flat index) in matrix; returns 'true' if valid access and set is successful

Show Source Code

bool DataTable::SetValAsVarMDims ( Variant& val, Variant& col, int row, int d0, int d1 = 0, int d2 = 0, int d3 = 0 )

set data of matrix type, in Variant form, for given column, row, and matrix dimension indicies; returns 'true' if valid access and set is successful

Show Source Code

bool DataTable::SetValColName ( Variant& val, taString& col_name, int row, bool quiet = false )

set data of scalar type, in Variant form (any data type, use for Programs), for given column name, row; returns 'true' if valid access and set is successful -- quiet = fail quietly

Show Source Code

bool DataTable::SetValColRowName ( Variant& val, taString& col_name, taString& row_col_name, Variant& row_value, bool quiet = false )

set data of scalar type, in Variant form (any data type, use for Programs), for given column name, and row by looking up row_value in column named row_col_name; returns 'true' if valid access and set is successful -- quiet = fail quietly

Show Source Code

Expert Method Category: Obsolete

bool DataTable::CopyColRow ( int dest_col, int dest_row, DataTable& src, int src_col, int src_row )

this is an obsolete name for CopyCell -- use CopyCell instead

Show Source Code

Expert Method Category: Rows

bool DataTable::RowInRangeNormalize ( int& row )

normalizes row (if -ve) and tests result in range

Show Source Code

Expert Method Category: SubMatrix

void DataTable::ReadToSubMatrix ( Variant& col, int row, taMatrix* submat_dest, taMatrix::RenderOp render_op = taMatrix::COPY, int off0 = 0, int off1 = 0, int off2 = 0, int off3 = 0, int off4 = 0, int off5 = 0, int off6 = 0 )

for making larger patterns out of smaller ones (sub-matricies) and vice-versa: read from matrix cell in this table at given col, row to dest sub-matrix (typically of smaller size), using given render operation to combine source and destination values, starting at given offsets in this matrix (safely manages range issues, clipping out of bounds) -- uses Variant interface, so type conversion between matricies is automatic, with some overhead cost

Show Source Code

void DataTable::WriteFmSubMatrix ( Variant& col, int row, taMatrix* submat_src, taMatrix::RenderOp render_op = taMatrix::COPY, int off0 = 0, int off1 = 0, int off2 = 0, int off3 = 0, int off4 = 0, int off5 = 0, int off6 = 0 )

for making larger patterns out of smaller ones (sub-matricies) and vice-versa: write to matrix cell in this table at given col, row from source sub-matrix (typically of smaller size), using given render operation to combine source and destination values, starting at given offsets in this matrix (safely manages range issues, clipping out of bounds) -- uses Variant interface, so type conversion between matricies is automatic, with some overhead cost

Show Source Code

Expert Method Category: UserData

UserDataItem_List* taOBase::GetUserDataList ( bool force = false )

gets the userdatalist for this class

Show Source Code

Expert Method Category: _NoCategory

void DataTable::ChangeColCellGeom_impl ( )

delayed callback function for DataCol::ChangeColCellGeom -- not user callable

Show Source Code

void DataTable::ChangeColMatToScalar_impl ( )

delayed callback function for DataCol::ChangeColMatToScalar -- not user callable

Show Source Code

void DataTable::ChangeColType_impl ( )

delayed callback function for DataCol::ChangeColType -- not user callable

Show Source Code

int DataTable::GetIndexRow ( int view_row )

Get the index of row as stored in list of all rows

Show Source Code

int DataTable::GetViewRow ( int index_row )

Get the visible row corresponding the row number as stored

Show Source Code


Copyright © 2017Regents of the University of Colorado, Carnegie Mellon University, Princeton University.
emergent 8.2.2