Loading...
Searching...
No Matches
casacore::TableIndexProxy Class Reference
tables package (libcasa_tables) » Tables_module

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 ()
TableIndexProxy & | operator= (const TableIndexProxy &)=delete
| Assignment is forbidden.
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.
Int64 | getRowNumber (const Record &key)
| Find the row number matching the key.
Vector< Int64 > | getRowNumbers (const Record &key)
| Find the row numbers matching the key.
Vector< Int64 > | getRowNumbersRange (const Record &lower, const Record &upper, Bool lowerInclusive, Bool upperInclusive)
| Find the row numbers matching the key range.

## Private Attributes

ColumnsIndex * | scaIndex_p
ColumnsIndexArray * | arrIndex_p

## Detailed Description

Proxy for table index access.

### Intended use:

Public interface

### Review Status

Reviewed By:
  Paul Shannon
Date Reviewed:
  1995/09/15
Test programs:
  tgtable.g

### Prerequisite

- class ColumnsIndex
- class ColumnsIndexArray

### Synopsis

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 68 of file TableIndexProxy.h.

## Constructor & Destructor Documentation

## TableIndexProxy() [1/2]

casacore::TableIndexProxy::TableIndexProxy | ( | const TableProxy & | table,
|  | const Vector< String > & | columnNames,
|  | Bool | noSort )

Construct for the given columns in the table.

References columnNames().

Referenced by operator=(), and TableIndexProxy().

## TableIndexProxy() [2/2]

casacore::TableIndexProxy::TableIndexProxy | ( | const TableIndexProxy & |  | ) |

Copy constructor.

References TableIndexProxy().

## ~TableIndexProxy()

casacore::TableIndexProxy::~TableIndexProxy | ( |  | ) |

## Member Function Documentation

## columnNames()

Vector< String > casacore::TableIndexProxy::columnNames | ( |  | ) | const

Return the names of the columns forming the index.

Referenced by setChanged(), and TableIndexProxy().

## getRowNumber()

Int64 casacore::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.

References casacore::Record().

## getRowNumbers()

Vector< Int64 > casacore::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.

References casacore::Record().

## getRowNumbersRange()

Vector< Int64 > casacore::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.

References casacore::Record().

## isUnique()

Bool casacore::TableIndexProxy::isUnique | ( |  | ) | const

Are all keys in the index unique?

## operator=()

TableIndexProxy & casacore::TableIndexProxy::operator= | ( | const TableIndexProxy & |  | ) |

delete

Assignment is forbidden.

References TableIndexProxy().

## setChanged()

void casacore::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.

References columnNames().

## Member Data Documentation

## arrIndex_p

ColumnsIndexArray* casacore::TableIndexProxy::arrIndex_p

private

Definition at line 110 of file TableIndexProxy.h.

## scaIndex_p

ColumnsIndex* casacore::TableIndexProxy::scaIndex_p

private

Definition at line 109 of file TableIndexProxy.h.

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

- tables/Tables/TableIndexProxy.h