|
IOLink
IOL_v1.2.0_release
|
3 #include <iolink/FlagSet.h>
4 #include <iolink/IOLinkAPI.h>
5 #include <iolink/storage/DataAccess.h>
26 extern template class IOLINK_API_IMPORT FlagSet<RandomAccessCapability>;
63 virtual size_t size()
const = 0;
68 std::string toString()
const;
87 virtual size_t read(
size_t offset,
size_t size,
void* dst);
106 virtual size_t write(
size_t offset,
size_t size,
const void* src);
119 virtual void resize(
size_t newSize);
132 virtual void* buffer();
141 virtual const void* bufferReadOnly()
const;
150 virtual size_t bufferSize();
All IOLink symbols are enclosed in this namespace.
Definition: ArrayX.h:7
@ READ_WRITE
combination of READ and WRITE
@ WRITE
Data can be written.
Template class to handle a flags system from an enum.
Definition: FlagSet.h:42
Parent interface of interfaces used to manipulate raw bytes.
Definition: DataAccess.h:19
bool support(RandomAccessCapabilitySet flags)
Checks if the RandomAccess supports the given capabilities.
Definition: RandomAccess.h:58
Interface representing a generic array-like accessor.
Definition: RandomAccess.h:45
@ WRITE_RESIZE
combination of WRITE and RESIZE
@ RESIZE
Data can be resized.
RandomAccessCapability
Capabilities of a RandomAccess.
Definition: RandomAccess.h:15
@ MEMORY_ACCESS
Accessing internal memory buffer.