|
IOLink
IOL_v1.1.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;
115 virtual size_t read(
size_t size,
void* dst);
124 virtual uint8_t peek();
143 virtual size_t write(
size_t size,
const void* src);
150 virtual void flush();
161 virtual size_t tell();
180 virtual void seek(int64_t offset,
SeekOrigin origin);
193 virtual void* buffer();
202 virtual const void* bufferReadOnly()
const;
211 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