IOLink IOL_v1.8.0_release
Loading...
Searching...
No Matches
ParallelAccessExtension.h
1#pragma once
2#include <string>
3
4#include <iolink/FlagSet.h>
5#include <iolink/view/Extension.h>
6
7namespace iolink
8{
9
14{
25 THREAD_SAFE = 0x1,
26
35
44
52 PARALLEL_READ = 0x8,
53
61 PARALLEL_WRITE = 0x10
62};
63
64extern template class IOLINK_API_IMPORT FlagSet<ParallelAccessCapability>;
65
70
71// Define bitwise operators for ParallelAccessCapability
72IOLINK_DEFINE_ENUM_BITWISE_OPERATORS(ParallelAccessCapability)
73
74
86class IOLINK_API ParallelAccessExtension : public Extension
87{
88public:
92 static constexpr size_t EXTENSION_ID = 0x2;
93
98
102 inline bool support(ParallelAccessCapabilitySet flags) { return this->capabilities().has(flags); }
103
107 std::string toString() const;
108};
109
110} // end namespace iolink