28#ifndef CMSIS_PLUS_RTOS_OS_EVFLAGS_H_
29#define CMSIS_PLUS_RTOS_OS_EVFLAGS_H_
33#if defined(__cplusplus)
42#pragma GCC diagnostic push
45#pragma clang diagnostic ignored "-Wc++98-compat"
57#pragma GCC diagnostic push
58#pragma GCC diagnostic ignored "-Wpadded"
315#if !defined(OS_USE_RTOS_PORT_EVENT_FLAGS)
320#if defined(OS_USE_RTOS_PORT_EVENT_FLAGS)
321 friend class port::event_flags;
322 os_evflags_port_data_t port_;
340#pragma GCC diagnostic pop
360#pragma GCC diagnostic pop
constexpr attributes()
Construct an event flags attributes object instance.
~attributes()=default
Destruct the event flags attributes object instance.
attributes(attributes &&)=default
attributes & operator=(const attributes &)=default
attributes(const attributes &)=default
Synchronised event flags.
result_t wait(flags::mask_t mask, flags::mask_t *oflags, flags::mode_t mode=flags::mode::all|flags::mode::clear)
Wait for event flags.
result_t timed_wait(flags::mask_t mask, clock::duration_t timeout, flags::mask_t *oflags=nullptr, flags::mode_t mode=flags::mode::all|flags::mode::clear)
Timed wait for event flags.
~event_flags()
Destruct the event flags object instance.
bool waiting(void)
Check if there are threads waiting.
bool operator==(const event_flags &rhs) const
Compare event flags.
flags::mask_t get(flags::mask_t mask, flags::mode_t mode=flags::mode::clear)
Get (and possibly clear) event flags.
result_t try_wait(flags::mask_t mask, flags::mask_t *oflags=nullptr, flags::mode_t mode=flags::mode::all|flags::mode::clear)
Try to wait for event flags.
result_t raise(flags::mask_t mask, flags::mask_t *oflags=nullptr)
Raise event flags.
result_t clear(flags::mask_t mask, flags::mask_t *oflags=nullptr)
Clear event flags.
Base class for attributes.
Internal event flags implementation.
Base class for named system objects.
const char * name(void) const
Get object name.
Priority ordered list of threads.
port::clock::duration_t duration_t
Type of variables holding clock durations.
static const attributes initializer
Default event flags initialiser.
@ all
Return when all flags are set.
@ clear
Ask for flags to be cleared after read.
uint32_t mode_t
Type of variables holding flags modes.
uint32_t mask_t
Type of variables holding flags masks.
uint32_t result_t
Type of values returned by RTOS functions.