11 class MultiReadSingleWriteSemaphore;
12 class MultiReadSingleWriteLock;
17#if defined(SharedTBB) or defined(SharedTBBExtension)
20#include <oneapi/tbb/spin_rw_mutex.h>
Create a lock around a boolean semaphore region.
~MultiReadSingleWriteSemaphore()=default
MultiReadSingleWriteSemaphore(bool highPriorityToWrites=true)
Argument is ignored in TBB version.
void leaveCriticalReadSection()
Tells the semaphore that it is about to leave.
void leaveCriticalWriteSection()
MultiReadSingleWriteSemaphore & operator=(const MultiReadSingleWriteSemaphore &)
You may not copy a semaphore.
MultiReadSingleWriteSemaphore(const MultiReadSingleWriteSemaphore &)=delete
You may not copy a semaphore.
::oneapi::tbb::spin_rw_mutex _mutex
void enterCriticalWriteSection()
void enterCriticalReadSection()
Delegate to TBB.
Have to include this header, as I need access to the SYCL_EXTERNAL keyword.