14 #ifndef odc_core_Table_H
15 #define odc_core_Table_H
19 #include "eckit/io/Buffer.h"
26 namespace eckit {
class DataHandle; }
62 Span span(
const std::vector<std::string>&
columns,
bool onlyConstant=
false);
eckit::Buffer readEncodedData()
eckit::Offset startPosition_
Table(const ThreadSharedDataHandle &dh)
bool otherByteOrder() const
size_t columnCount() const
static std::unique_ptr< Table > readTable(ThreadSharedDataHandle &dh)
Span span(const std::vector< std::string > &columns, bool onlyConstant=false)
eckit::Offset nextPosition() const
eckit::Offset nextPosition_
Span decodeSpan(const std::vector< std::string > &columns)
eckit::Offset dataPosition_
const Properties & properties() const
const std::map< std::string, size_t > & simpleColumnLookup()
const std::map< std::string, size_t > & columnLookup()
Lookups used for decoding. Memoised for efficiency.
int32_t byteOrder() const
void decode(DecodeTarget &target)
const MetaData & columns() const
std::map< std::string, size_t > columnLookup_
eckit::Length encodedDataSize() const
std::map< std::string, size_t > simpleColumnLookup_
eckit::Offset startPosition() const
ThreadSharedDataHandle dh_
std::map< std::string, std::string > Properties