14 #ifndef odc_core_ThreadSharedDataHandle_H
15 #define odc_core_ThreadSharedDataHandle_H
20 #include "eckit/io/DataHandle.h"
22 namespace eckit {
class DataHandle; }
46 void print(std::ostream& s)
const override;
52 long read(
void*,
long)
override;
53 long write(
const void*,
long)
override;
54 void close()
override;
58 eckit::Offset
seek(
const eckit::Offset&)
override;
60 std::string
title()
const override;
66 Internal(eckit::DataHandle* dh,
bool owned);
70 eckit::DataHandle*
dh_;
~ThreadSharedDataHandle() override
eckit::Offset position() override
std::string title() const override
long read(void *, long) override
eckit::Length openForRead() override
ThreadSharedDataHandle & operator=(const ThreadSharedDataHandle &)
void openForAppend(const eckit::Length &) override
std::shared_ptr< Internal > internal_
eckit::Offset seek(const eckit::Offset &) override
eckit::Length estimate() override
bool operator==(const ThreadSharedDataHandle &other)
void openForWrite(const eckit::Length &) override
long write(const void *, long) override
void print(std::ostream &s) const override
ThreadSharedDataHandle(eckit::DataHandle &dh)
bool operator!=(const ThreadSharedDataHandle &other)
Internal(eckit::DataHandle *dh, bool owned)