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.
AipsIO is the object persistency mechanism of Casacore
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.
The bucket index for a group of columns in the Standard Storage Manager.
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.
Base class of the Standard Storage Manager.
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.