casa
$Rev:20696$
|
Proxy for table index access. More...
#include <TableIndexProxy.h>
Public Member Functions | |
TableIndexProxy (const TableProxy &table, const Vector< String > &columnNames, Bool noSort) | |
Construct for the given columns in the table. | |
TableIndexProxy (const TableIndexProxy &) | |
Copy constructor. | |
~TableIndexProxy () | |
Bool | isUnique () const |
Are all keys in the index unique? | |
Vector< String > | columnNames () const |
Return the names of the columns forming the index. | |
void | setChanged (const Vector< String > &columnNames) |
Something has changed in the table, so the index has to be recreated. | |
Int | getRowNumber (const Record &key) |
Find the row number matching the key. | |
Vector< Int > | getRowNumbers (const Record &key) |
Find the row numbers matching the key. | |
Vector< Int > | getRowNumbersRange (const Record &lower, const Record &upper, Bool lowerInclusive, Bool upperInclusive) |
Find the row numbers matching the key range. | |
Private Member Functions | |
TableIndexProxy & | operator= (const TableIndexProxy &) |
Assignment is forbidden. | |
Private Attributes | |
ColumnsIndex * | scaIndex_p |
ColumnsIndexArray * | arrIndex_p |
Proxy for table index access.
Public interface
TableIndexProxy gives access to indexed access to tables, both for scalar columns and array columns. It is primarily meant to be used in classes that wrap access to it from scripting languages (like Glish and Python). However, it can also be used directly from other C++ code.
A TableIndexProxy object is usually created by class TableProxy .
Definition at line 70 of file TableIndexProxy.h.
casa::TableIndexProxy::TableIndexProxy | ( | const TableProxy & | table, |
const Vector< String > & | columnNames, | ||
Bool | noSort | ||
) |
Construct for the given columns in the table.
Copy constructor.
Vector<String> casa::TableIndexProxy::columnNames | ( | ) | const |
Return the names of the columns forming the index.
Int casa::TableIndexProxy::getRowNumber | ( | const Record & | key | ) |
Find the row number matching the key.
All keys have to be unique, otherwise an exception is thrown. If no match is found, -1 is returned.
Vector<Int> casa::TableIndexProxy::getRowNumbers | ( | const Record & | key | ) |
Find the row numbers matching the key.
It should be used instead of getRowNumber
if the same key can exist multiple times.
Vector<Int> casa::TableIndexProxy::getRowNumbersRange | ( | const Record & | lower, |
const Record & | upper, | ||
Bool | lowerInclusive, | ||
Bool | upperInclusive | ||
) |
Find the row numbers matching the key range.
The boolean arguments tell if the lower and upper key are part of the range.
Bool casa::TableIndexProxy::isUnique | ( | ) | const |
Are all keys in the index unique?
TableIndexProxy& casa::TableIndexProxy::operator= | ( | const TableIndexProxy & | ) | [private] |
Assignment is forbidden.
void casa::TableIndexProxy::setChanged | ( | const Vector< String > & | columnNames | ) |
Something has changed in the table, so the index has to be recreated.
An empty vector means that all columns have changed, otherwise only the given columns.
Definition at line 113 of file TableIndexProxy.h.
ColumnsIndex* casa::TableIndexProxy::scaIndex_p [private] |
Definition at line 112 of file TableIndexProxy.h.