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