4#include <iolink/FlagSet.h>
5#include <iolink/view/Extension.h>
64extern template class IOLINK_API_IMPORT FlagSet<ParallelAccessCapability>;
92 static constexpr size_t EXTENSION_ID = 0x2;
Parent class for all views extensions.
Definition: Extension.h:25
Template class to handle a flags system from an enum.
Definition: FlagSet.h:43
ImageView extension to give information about how to efficiently access it in a multi-threaded enviro...
Definition: ParallelAccessExtension.h:87
bool support(ParallelAccessCapabilitySet flags)
Checks if the view supports the given capabilities.
Definition: ParallelAccessExtension.h:102
virtual ParallelAccessCapabilitySet capabilities() const =0
Return the parallel-access capabilities of this view.
std::string toString() const
String representation of the extension.
All IOLink symbols are enclosed in this namespace.
Definition: ArrayX.h:8
ParallelAccessCapability
Define multi-access capabilities of an ImageView.
Definition: ParallelAccessExtension.h:14
@ THREAD_SAFE
Image can be multi-accessed (READ and/or WRITE) without any race condition, but with no control on th...
@ PARALLEL_TILE_WRITE
Hints that writing tiles in parallel will provide performance benefits, But remember that parallel ca...
@ PARALLEL_TILE_READ
Hints that reading tiles in parallel will provide performance benefits.
@ PARALLEL_WRITE
Hints that regions of the image can be written in parallel with performance benefits.
@ PARALLEL_READ
Hints that regions of the image can be read in parallel with performance benefits.