class
#include <atlas/io/Stream.h>
Stream Handle to a shared eckit::
Contents
Note, a Stream is not intended to be opened and closed within atlas::io context The derived classes InputFileStream and OutputFileStream automatically open and close on construction an destruction.
Derived classes
- class FileStream
Constructors, destructors, conversion operators
- Stream() defaulted
-
Stream(eckit::
DataHandle*) - Constructor taking ownership of datahandle.
-
Stream(std::
shared_ptr<eckit:: DataHandle>) - Constructor to share datahandle with a shared_ptr.
-
Stream(eckit::
DataHandle&) - Stream(const Stream&)
- Assignment constructor sharing datahandle with other Stream.
- operator bool() const
- Return true if pointer is valid;.
Public functions
-
auto datahandle() -> eckit::
DataHandle& - Access internal eckit::
DataHandle. -
auto seek(std::
uint64_t offset) -> std:: uint64_t - Move position to given offset.
-
auto position() -> std::
uint64_t - Return offset of current position.
-
auto write(const void* data,
size_t length) -> std::
uint64_t -
auto read(void* data,
size_t length) -> std::
uint64_t
Function documentation
atlas:: io:: Stream:: Stream() defaulted
Default constructor
atlas:: io:: Stream:: Stream(eckit:: DataHandle&)
Constructor referencing datahandle, no ownership is taken
std:: uint64_t atlas:: io:: Stream:: write(const void* data,
size_t length)
Returns | number of bytes written |
---|
Write data of given length (bytes)
std:: uint64_t atlas:: io:: Stream:: read(void* data,
size_t length)
Returns | number of bytes read |
---|
Read data of given length (bytes)