13#ifndef CMSIS_PLUS_RTOS_OS_CONDVAR_H_
14#define CMSIS_PLUS_RTOS_OS_CONDVAR_H_
18#if defined(__cplusplus)
26#pragma GCC diagnostic push
28#pragma clang diagnostic ignored "-Wc++98-compat"
282#if !defined(OS_USE_RTOS_PORT_CONDITION_VARIABLE)
327#pragma GCC diagnostic pop
Condition variable attributes.
~attributes()=default
Destruct the condition variable attributes object instance.
attributes(const attributes &)=default
attributes(attributes &&)=default
constexpr attributes()
Construct a condition variable attributes object instance.
attributes & operator=(const attributes &)=default
POSIX compliant condition variable.
result_t signal(void)
Notify one thread waiting for a condition variable.
result_t broadcast(void)
Notify all threads waiting for a condition variable.
result_t wait(mutex &mutex)
Wait for a condition variable to be notified.
bool operator==(const condition_variable &rhs) const
Compare condition variables.
~condition_variable()
Destruct the condition variable object instance.
result_t timed_wait(mutex &mutex, clock::duration_t timeout)
Timed wait for a condition variable to be notified.
condition_variable(const char *name, const attributes &attr=initializer)
Construct a named condition variable object instance.
Base class for attributes.
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 condition variable initialiser.
uint32_t result_t
Type of values returned by RTOS functions.