|
IOLink
IOL_v1.2.0_release
|
5 #include <iolink/FlagSet.h>
6 #include <iolink/IOLinkAPI.h>
7 #include <iolink/storage/DataAccess.h>
27 extern template class IOLINK_API_IMPORT FlagSet<StreamAccessCapability>;
80 virtual bool good()
const;
88 virtual bool eof()
const = 0;
98 virtual bool fail()
const = 0;
103 std::string toString()
const;
120 virtual size_t read(
size_t size,
void* dst);
129 virtual uint8_t peek();
148 virtual size_t write(
size_t size,
const void* src);
155 virtual void flush();
166 virtual size_t tell();
185 virtual void seek(int64_t offset,
SeekOrigin origin);
198 virtual void* buffer();
207 virtual const void* bufferReadOnly()
const;
216 virtual size_t bufferSize();
Mother interface for all stream-like data accessors.
Definition: StreamAccess.h:59
@ SEEK
Cursor for read/write can be moved.
All IOLink symbols are enclosed in this namespace.
Definition: ArrayX.h:7
SeekOrigin
Position indicator for seek method.
Definition: StreamAccess.h:38
@ READ_SEEK
combination of READ and SEEK
@ MEMORY_ACCESS
Accessing internal memory buffer.
Template class to handle a flags system from an enum.
Definition: FlagSet.h:42
@ CURRENT
Current position of the stream.
Parent interface of interfaces used to manipulate raw bytes.
Definition: DataAccess.h:19
@ READ_WRITE
combination of READ and WRITE
@ BEGIN
Begining of the stream.
bool support(StreamAccessCapabilitySet flags)
Checks if the StreamAccess supports the given capabilities.
Definition: StreamAccess.h:72
@ WRITE
Data can be written.
StreamAccessCapability
Capabilities of a StreamAccess.
Definition: StreamAccess.h:15
@ WRITE_SEEK
combination of WRITE and SEEK