29 #ifndef MS_MSTABLEINDEX_H 30 #define MS_MSTABLEINDEX_H 32 #include <casacore/casa/aips.h> 33 #include <casacore/casa/Arrays/Vector.h> 34 #include <casacore/casa/Containers/Block.h> 35 #include <casacore/casa/Containers/RecordField.h> 36 #include <casacore/tables/Tables/Table.h> 37 #include <casacore/tables/Tables/ScalarColumn.h> 38 #include <casacore/tables/Tables/ColumnsIndex.h>
Index to one or more columns in a table.
A 1-D Specialization of the Array class.
Vector< Double > timeVec_p
Main interface class to a read/write table.
Vector< Int > lastKeys_p
last known integer key values
void attach(const Table &subTable, const Vector< String > &indexCols, ColumnsIndex::Compare *compareFunction=0)
attach this to a subtable using indexCols
Int lastNearest_p
last nearest
Record * key_p
Internal keys - set by user.
virtual Double & time()
access the TIME to use in the search (seconds)
Vector< uInt > lastSearch_p
last search result - matching integer keys
virtual void setChanged()
Call this when an index in an existing row has changed.
ScalarColumn< Double > timeColumn_p
Block< RecordFieldPtr< Int > > indexKeys_p
Block< RecordFieldPtr< Int > > intKeys_p
Int Compare(const Block< void *> &fieldPtrs, const Block< void *> &dataPtrs, const Block< Int > &dataTypes, Int index)
Define the signature of a comparison function.
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
virtual Bool isNull()
is this attached to a null table
Double lastTime_p
last known time and interval
virtual uInt getNearestRow(Bool &found)
get the row number which falls in the interval and has the time nearest to the center of the interval...
ScalarColumn< Double > intervalColumn_p
virtual Double & interval()
access the INTERVAL to use in the search (seconds), must be >= 0
const Double * intervalVals_p
virtual Table & table()
return the subtable being indexed
virtual Record & accessKey()
access the record of index (integer) keys
MSTableIndex()
no index attached, use the attach function or assignment operator to change that
virtual Vector< uInt > getRowNumbers()
get all of the rows in the subTable which have data during the indicated time and interval values...
Bool isNull() const
Test if the object is null, i.e.
MSTableIndex & operator=(const MSTableIndex &other)
assignment operator, refernce semantics
uInt nrows_p
last known sub-table size
const Double * timeVals_p
Vector< Double > intervalVec_p
this file contains all the compiler specific defines