Go to the documentation of this file.
27 #ifndef TABLES_SSMINDEX_H
28 #define TABLES_SSMINDEX_H
31 #include <casacore/casa/aips.h>
32 #include <casacore/casa/Containers/Block.h>
33 #include <casacore/casa/Arrays/Vector.h>
SSMIndex(SSMBase *aPtrSSM, uInt rowsPerBucket=0)
Create the object with the given number of rows per bucket.
Int getFree(Int &anOffset, uInt nbits) const
Try to find free space for a field with a given length (best fit).
std::map< Int, Int > itsFreeSpace
Int removeColumn(Int anOffset, uInt nbits)
A column is removed.
Int deleteRow(uInt aRowNumber)
Delete the given row.
void put(AipsIO &anOs) const
Write the bucket index into the AipsIO object.
void get(AipsIO &anOs)
Read the bucket index from the AipsIO object.
uInt getNrBuckets() const
Return the nr of buckets used.
void recreate()
Recreate the object in case all rows are deleted from the table.
Vector< uInt > getBuckets() const
Return all the bucketnrs used in this index.
void find(uInt aRowNumber, uInt &aBucketNr, uInt &aStartRow, uInt &anEndRow, const String &colName) const
Find the bucket containing the given row.
this file contains all the compiler specific defines
void showStatistics(ostream &anOs) const
Show Statistics of index.
uInt getRowsPerBucket() const
Get the number of rows that fits in ach bucket.
Block< uInt > itsBucketNumber
String: the storage and methods of handling collections of characters.
void addColumn(Int anOffset, uInt nbits)
reuse the space at offset for a field with the given nr of bits.
void addRow(uInt aNrRows)
Add some rows.
void setNrColumns(Int aNrColumns, uInt aSizeUsed)
Set nr of columns use this index.
uInt getIndex(uInt aRowNr, const String &colName) const
Get the index of the bucket containing the given row.