26#ifndef TABLES_BASETABITER_H
27#define TABLES_BASETABITER_H
30#include <casacore/casa/aips.h>
31#include <casacore/tables/Tables/Table.h>
32#include <casacore/casa/Utilities/Compare.h>
33#include <casacore/casa/Containers/Block.h>
99 const Block<std::shared_ptr<BaseCompare>>& cmpObjs,
102 bool cacheIterationBoundaries =
false);
117 virtual std::shared_ptr<BaseTable>
next();
const String & keyChangeAtLastNext() const
Report Name of slowest sort column that changed (according to the comparison function) to terminate t...
BaseTableIterator(const std::shared_ptr< BaseTable > &, const Block< String > &columnNames, const Block< std::shared_ptr< BaseCompare > > &cmpObjs, const Block< Int > &orders, int option, bool cacheIterationBoundaries=false)
Create the table iterator to iterate through the given columns in the given order.
std::shared_ptr< BaseTable > aBaseTable_p
BaseTableIterator(const BaseTableIterator &)
Copy constructor (to be used by clone)
virtual std::shared_ptr< BaseTable > next()
Return the next group.
std::shared_ptr< Vector< size_t > > sortIterKeyIdxChange_p
Vector< rownr_t >::iterator sortIterBoundariesIt_p
virtual void copyState(const BaseTableIterator &)
Block< void * > lastVal_p
String keyChangeAtLastNext_p
Block< std::shared_ptr< BaseCompare > > cmpObj_p
PtrBlock< BaseColumn * > colPtr_p
BaseTableIterator & operator=(const BaseTableIterator &)=delete
Assignment is not needed, because the assignment operator in the envelope class TableIterator has ref...
virtual ~BaseTableIterator()
Vector< size_t >::iterator sortIterKeyIdxChangeIt_p
std::shared_ptr< Vector< rownr_t > > sortIterBoundaries_p
std::shared_ptr< BaseTable > noCachedIterBoundariesNext()
BaseTableIterator * clone() const
Clone this iterator.
std::shared_ptr< BaseTable > sortTab_p
virtual void reset()
Reset the iterator (i.e.
A drop-in replacement for Block<T*>.
String: the storage and methods of handling collections of characters.
this file contains all the compiler specific defines
uInt64 rownr_t
Define the type of a row number in a table.