zpp
Zephyr C++20 Framework
|
A condition variable CRTP base class. More...
#include <condition_variable.hpp>
Public Types | |
using | native_type = struct k_condvar |
using | native_pointer = native_type * |
using | native_const_pointer = native_type const * |
Public Member Functions | |
auto | notify_one () noexcept |
Notify one waiter. More... | |
auto | notify_all () noexcept |
Notify all waiters. More... | |
template<class T_Mutex > | |
auto | wait (T_Mutex &m) noexcept |
wait for ever until the variable is signaled. More... | |
template<class T_Mutex , class T_Rep , class T_Period > | |
auto | try_wait_for (T_Mutex &m, const std::chrono::duration< T_Rep, T_Period > &timeout) noexcept |
Try waiting with a timeout to see if the variable is signaled. More... | |
template<class T_Mutex , class T_Predecate > | |
auto | wait (T_Mutex &m, T_Predecate pred) noexcept |
wait for ever until the variable is signaled. More... | |
template<class T_Mutex , class T_Rep , class T_Period , class T_Predecate > | |
auto | try_wait_for (T_Mutex &m, const std::chrono::duration< T_Rep, T_Period > &timeout, T_Predecate pred) noexcept |
Try waiting with a timeout to see if the variable is signaled. More... | |
auto | native_handle () noexcept -> native_pointer |
get the native zephyr k_condvar pointer. More... | |
auto | native_handle () const noexcept -> native_const_pointer |
get the native zephyr k_condvar pointer. More... | |
condition_variable_base (const condition_variable_base &)=delete | |
condition_variable_base (condition_variable_base &&)=delete | |
condition_variable_base & | operator= (const condition_variable_base &)=delete |
condition_variable_base & | operator= (condition_variable_base &&)=delete |
Protected Member Functions | |
constexpr | condition_variable_base () noexcept=default |
Protected default constructor so only derived classes can be created. More... | |
A condition variable CRTP base class.
Definition at line 26 of file condition_variable.hpp.
using zpp::condition_variable_base< T_ConditionVariable >::native_const_pointer = native_type const * |
Definition at line 31 of file condition_variable.hpp.
using zpp::condition_variable_base< T_ConditionVariable >::native_pointer = native_type* |
Definition at line 30 of file condition_variable.hpp.
using zpp::condition_variable_base< T_ConditionVariable >::native_type = struct k_condvar |
Definition at line 29 of file condition_variable.hpp.
|
constexprprotecteddefaultnoexcept |
Protected default constructor so only derived classes can be created.
|
delete |
|
delete |
|
inlinenoexcept |
get the native zephyr k_condvar pointer.
Definition at line 219 of file condition_variable.hpp.
References zpp::condition_variable_base< T_ConditionVariable >::native_handle().
|
inlinenoexcept |
get the native zephyr k_condvar pointer.
Definition at line 209 of file condition_variable.hpp.
Referenced by zpp::condition_variable_base< T_ConditionVariable >::native_handle(), zpp::condition_variable_base< T_ConditionVariable >::notify_all(), zpp::condition_variable_base< T_ConditionVariable >::notify_one(), zpp::condition_variable_base< T_ConditionVariable >::try_wait_for(), and zpp::condition_variable_base< T_ConditionVariable >::wait().
|
inlinenoexcept |
Notify all waiters.
Definition at line 63 of file condition_variable.hpp.
References zpp::result< T_Ok, T_Error >::assign_error(), zpp::result< T_Ok, T_Error >::assign_value(), zpp::condition_variable_base< T_ConditionVariable >::native_handle(), and zpp::to_error_code().
|
inlinenoexcept |
Notify one waiter.
Definition at line 44 of file condition_variable.hpp.
References zpp::result< T_Ok, T_Error >::assign_error(), zpp::result< T_Ok, T_Error >::assign_value(), zpp::condition_variable_base< T_ConditionVariable >::native_handle(), and zpp::to_error_code().
|
delete |
|
delete |
|
inlinenoexcept |
Try waiting with a timeout to see if the variable is signaled.
m | The mutex to use |
timeout | The time to wait before returning |
Definition at line 114 of file condition_variable.hpp.
References zpp::result< T_Ok, T_Error >::assign_error(), zpp::result< T_Ok, T_Error >::assign_value(), zpp::k_inval, zpp::condition_variable_base< T_ConditionVariable >::native_handle(), zpp::to_error_code(), and zpp::to_timeout().
|
inlinenoexcept |
Try waiting with a timeout to see if the variable is signaled.
m | The mutex to use |
timeout | The time to wait before returning |
pred | The predecate that must be true before the wait returns |
Definition at line 178 of file condition_variable.hpp.
References zpp::result< T_Ok, T_Error >::assign_error(), zpp::result< T_Ok, T_Error >::assign_value(), zpp::k_inval, zpp::condition_variable_base< T_ConditionVariable >::native_handle(), zpp::to_error_code(), and zpp::to_timeout().
|
inlinenoexcept |
wait for ever until the variable is signaled.
m | The mutex to use |
Definition at line 85 of file condition_variable.hpp.
References zpp::result< T_Ok, T_Error >::assign_error(), zpp::result< T_Ok, T_Error >::assign_value(), zpp::k_inval, zpp::condition_variable_base< T_ConditionVariable >::native_handle(), and zpp::to_error_code().
|
inlinenoexcept |
wait for ever until the variable is signaled.
m | The mutex to use |
pred | The predecate that must be true before the wait returns |
Definition at line 145 of file condition_variable.hpp.
References zpp::result< T_Ok, T_Error >::assign_error(), zpp::result< T_Ok, T_Error >::assign_value(), zpp::k_inval, zpp::condition_variable_base< T_ConditionVariable >::native_handle(), and zpp::to_error_code().