15 #ifndef odc_sql_TODATableIterator_H
16 #define odc_sql_TODATableIterator_H
18 #include "eckit/sql/SQLTable.h"
27 template <
typename READER>
class TODATable;
31 template <
typename READER>
37 const std::vector<std::reference_wrapper<const eckit::sql::SQLColumn>>&
columns,
38 std::function<
void(eckit::sql::SQLTableIterator&)> metadataUpdateCallback);
43 virtual void rewind()
override;
44 virtual bool next()
override;
48 virtual const double*
data()
const override;
57 typename READER::iterator
it_;
58 typename READER::iterator
end_;
60 const std::vector<std::reference_wrapper<const eckit::sql::SQLColumn>>&
columns_;
std::vector< size_t > columnOffsets_
std::vector< size_t > columnDoublesSizes_
virtual std::vector< size_t > columnOffsets() const override
const std::vector< std::reference_wrapper< const eckit::sql::SQLColumn > > & columns_
virtual const double * data() const override
TODATableIterator(const TODATable< READER > &parent, const std::vector< std::reference_wrapper< const eckit::sql::SQLColumn >> &columns, std::function< void(eckit::sql::SQLTableIterator &)> metadataUpdateCallback)
virtual void rewind() override
virtual bool next() override
virtual ~TODATableIterator()
std::function< void(eckit::sql::SQLTableIterator &)> metadataUpdateCallback_
const TODATable< READER > & parent_
virtual std::vector< size_t > doublesDataSizes() const override