86 void reset() { erased =
nullptr; }
198 explicit operator bool()
const;
214 const WorkgroupProvider* getWorkgroupProvider()
const {
return erased !=
nullptr ? erased() :
nullptr; }
A handle to an audio workgroup, which is a collection of realtime threads working together to produce...
bool operator!=(const AudioWorkgroup &other) const
Inequality operator.
void reset()
Disengages this instance so that it no longer represents a workgroup.
AudioWorkgroup & operator=(AudioWorkgroup &&)=default
Move assignment operator.
AudioWorkgroup(AudioWorkgroup &&)=default
Move constructor.
size_t getMaxParallelThreadCount() const
Returns the recommended maximum number of parallel threads that should join this workgroup.
AudioWorkgroup()=default
Constructs a disengaged handle that does not represent any workgroup.
bool operator==(const AudioWorkgroup &other) const
Equality operator.
void join(WorkgroupToken &token) const
This method attempts to join the calling thread to this workgroup.
Created by AudioWorkgroup to join the calling thread to a workgroup.
~WorkgroupToken()=default
If the token joined the calling thread to a workgroup during construction, the destructor will cause ...
void reset()
If this token was engaged by joining a workgroup, leaves that workgroup and disengages the token.
const TokenProvider * getTokenProvider() const
The result of this function can be compared to nullptr to check whether the token successfully joined...
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...