µOS++ IIIe / CMSIS++ / POSIX++ Reference  v6.3.11
“Perfekt ist nicht gut genug”
The third edition of µOS++ and CMSIS++, a proposal for the next generation CMSIS, written in C++.
CMSIS++ ISO Standard C++ Threads

CMSIS++ ISO Threads summary page. More...

Namespaces

 os::estd
 Embedded std namespace.
 
 os::estd::this_thread
 A namespace for functions applying to the current thread.
 

Classes

class  os::estd::mutex
 
class  os::estd::chrono::systick_clock
 
class  os::estd::thread
 Standard thread. More...
 
enum  os::estd::cv_status {
  os::estd::cv_status::no_timeout,
  os::estd::cv_status::timeout
}
 
void os::estd::notify_all_at_thread_exit (condition_variable &cond, unique_lock< mutex > lk)
 
thread::id os::estd::this_thread::get_id () noexcept
 Return the id of the current running thread. More...
 
void os::estd::this_thread::yield () noexcept
 Yield the CPU to the next ready thread. More...
 
template<typename Clock_T = chrono::systick_clock, typename Rep_T , typename Period_T >
constexpr void os::estd::this_thread::sleep_for (const std::chrono::duration< Rep_T, Period_T > &rel_time)
 Sleep for a given duration. More...
 
template<typename Clock_T , typename Duration_T >
void os::estd::this_thread::sleep_until (const std::chrono::time_point< Clock_T, Duration_T > &abs_time)
 Sleep until a given time point. More...
 

Detailed Description

CMSIS++ ISO Threads summary page.

This page groups the main CMSIS++ ISO Threads classes and namespaces.

Standards
These definitions provide implementations for the classes defined in the C++ Standard ISO/IEC 14882:2011(E) Third edition (2011-09-01).

Enumeration Type Documentation

enum os::estd::cv_status
strong

Condition variables provide synchronization primitives used to block a thread until notified by some other thread that some condition is met or until a system time is reached. Class condition_variable provides a condition variable that can only wait on an object of type unique_lock<mutex>, allowing maximum efficiency on some platforms. Class condition_variable_any provides a general condition variable that can wait on objects of user-supplied lock types.

Condition variables permit concurrent invocation of the wait, wait_for, wait_until, notify_one and notify_all member functions.

Enumerator
no_timeout 
timeout 

Definition at line 74 of file condition_variable.

Function Documentation

thread::id os::estd::this_thread::get_id ( )
inlinenoexcept

Return the id of the current running thread.

Definition at line 416 of file thread.

void os::estd::notify_all_at_thread_exit ( condition_variable cond,
unique_lock< mutex lk 
)

Definition at line 84 of file condition-variable.cpp.

template<typename Clock_T = chrono::systick_clock, typename Rep_T , typename Period_T >
constexpr void os::estd::this_thread::sleep_for ( const std::chrono::duration< Rep_T, Period_T > &  rel_time)

Sleep for a given duration.

Parameters
[in]rel_time

extra Clock_T is an extension to the standard

Definition at line 471 of file thread.

template<typename Clock_T , typename Duration_T >
void os::estd::this_thread::sleep_until ( const std::chrono::time_point< Clock_T, Duration_T > &  abs_time)

Sleep until a given time point.

Parameters
[in]abs_time

Definition at line 491 of file thread.

void os::estd::this_thread::yield ( void  )
inlinenoexcept

Yield the CPU to the next ready thread.

Yield execution to the next ready thread.

Definition at line 410 of file thread.