eckit::TeeHandle class

Base classes

class DataHandle

Public types

using HandleList = std::vector<DataHandle*>

Public static functions

static auto classSpec() -> const ClassSpec&

Constructors, destructors, conversion operators

TeeHandle()
TeeHandle(DataHandle*, DataHandle*)
TeeHandle(const HandleList&)
TeeHandle(Stream&)
~TeeHandle()

Public functions

void operator+=(DataHandle*) virtual
auto openForRead() -> Length override
void openForWrite(const Length&) override
void openForAppend(const Length&) override
auto read(void*, long) -> long override
auto write(const void*, long) -> long override
void close() override
void flush() override
void rewind() override
void print(std::ostream&) const override
auto canSeek() const -> bool override
void toRemote(Stream&) const override
void toLocal(Stream&) const override
auto toLocal() -> DataHandle* override
void selectMover(MoverTransferSelection&, bool read) const override
auto moveable() const -> bool override
void encode(Stream&) const override
auto reanimator() const -> const ReanimatorBase& override
auto size() -> Length virtual
auto estimate() -> Length virtual
auto position() -> Offset virtual
auto seek(const Offset&) -> Offset virtual
void skip(const Length&) virtual
void restartReadFrom(const Offset&) virtual
void restartWriteFrom(const Offset&) virtual
auto clone() const -> DataHandle* virtual
auto saveInto(DataHandle&, TransferWatcher& = TransferWatcher::dummy()) -> Length virtual
Save into an other datahandle.
auto saveInto(const PathName&, TransferWatcher& = TransferWatcher::dummy()) -> Length virtual
Save into a file.
auto copyTo(DataHandle&, long bufsize = -1, Length maxsize = -1, TransferWatcher& = TransferWatcher::dummy()) -> Length virtual
auto name() const -> std::string virtual
auto openf(const char* mode, bool delete_on_close = false) -> FILE*
Create a FILE* from this handle.
auto openf(bool delete_on_close = false) -> FILE*
auto compare(DataHandle&) -> bool
Compare bytes.
auto compress(bool = false) -> bool virtual
auto merge(DataHandle*) -> bool virtual
auto isEmpty() const -> bool virtual
auto title() const -> std::string virtual
auto metricsTag() const -> std::string virtual
void collectMetrics(const std::string& what) const virtual
void hash(MD5& md5) const virtual
auto doubleBufferOK() const -> bool virtual
auto className() const -> std::string virtual

Function documentation

Length eckit::TeeHandle::size() virtual

Length eckit::TeeHandle::estimate() virtual

Offset eckit::TeeHandle::position() virtual

Offset eckit::TeeHandle::seek(const Offset&) virtual

void eckit::TeeHandle::skip(const Length&) virtual

void eckit::TeeHandle::restartReadFrom(const Offset&) virtual

void eckit::TeeHandle::restartWriteFrom(const Offset&) virtual

DataHandle* eckit::TeeHandle::clone() const virtual

Length eckit::TeeHandle::saveInto(DataHandle&, TransferWatcher& = TransferWatcher::dummy()) virtual

Save into an other datahandle.

Length eckit::TeeHandle::saveInto(const PathName&, TransferWatcher& = TransferWatcher::dummy()) virtual

Save into a file.

Length eckit::TeeHandle::copyTo(DataHandle&, long bufsize = -1, Length maxsize = -1, TransferWatcher& = TransferWatcher::dummy()) virtual

Quiet version of saveInto Does not support progess, restart and double buffering

std::string eckit::TeeHandle::name() const virtual

FILE* eckit::TeeHandle::openf(const char* mode, bool delete_on_close = false)

Create a FILE* from this handle.

FILE* eckit::TeeHandle::openf(bool delete_on_close = false)

bool eckit::TeeHandle::compare(DataHandle&)

Compare bytes.

bool eckit::TeeHandle::compress(bool = false) virtual

bool eckit::TeeHandle::merge(DataHandle*) virtual

bool eckit::TeeHandle::isEmpty() const virtual

std::string eckit::TeeHandle::title() const virtual

std::string eckit::TeeHandle::metricsTag() const virtual

void eckit::TeeHandle::collectMetrics(const std::string& what) const virtual

void eckit::TeeHandle::hash(MD5& md5) const virtual

bool eckit::TeeHandle::doubleBufferOK() const virtual

std::string eckit::TeeHandle::className() const virtual

This website is beyond its original expiry date and the content may be out of date. The site owner has been notified and may choose to extend the expiry date and remove this banner. If you have any questions about this, please visit our support portal.