libjmmcg
release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
|
A flag to atomically signal if the container contains work or not and also count the amount of work that there is to do. More...
#include <thread_safe_adaptors.hpp>
Public Types | |
typedef Lk | atomic_t |
typedef atomic_t::lock_traits | lock_traits |
typedef lock_traits::exception_type | exception_type |
typedef atomic_t::locker_type | locker_type |
Public Member Functions | |
constexpr __stdcall | signalling () noexcept(true) FORCE_INLINE |
signalling (atomic_t &ev) noexcept(true) FORCE_INLINE | |
__stdcall | signalling (signalling const &s) noexcept(true) FORCE_INLINE |
signalling (signalling &&)=delete | |
void | operator= (signalling const &)=delete |
void | operator= (signalling &&)=delete |
constexpr atomic_t &__fastcall | have_work () const noexcept(true) FORCE_INLINE |
atomic_t &__fastcall | have_work () noexcept(true) FORCE_INLINE |
constexpr locker_type &__fastcall | locker () const noexcept(true) FORCE_INLINE |
locker_type &__fastcall | locker () noexcept(true) FORCE_INLINE |
void | add () noexcept(false) FORCE_INLINE |
void __fastcall | add (typename atomic_t::count_type const c) noexcept(false) FORCE_INLINE |
atomic_t::lock_result_type __fastcall | remove () noexcept(noexcept(have_work_->lock(0))) FORCE_INLINE |
void __fastcall | remove (typename atomic_t::count_type const c) noexcept(false) FORCE_INLINE |
atomic_t::lock_result_type __fastcall | try_remove () noexcept(noexcept(have_work_->try_lock())) FORCE_INLINE |
void | clear () noexcept(noexcept(have_work_->clear())) FORCE_INLINE |
atomic_t::count_type __fastcall | count () const noexcept(noexcept(have_work_->count())) FORCE_INLINE |
Static Public Attributes | |
static constexpr generic_traits::memory_access_modes | memory_access_mode =atomic_t::memory_access_mode |
A flag to atomically signal if the container contains work or not and also count the amount of work that there is to do.
This uses standard locks.
Definition at line 121 of file thread_safe_adaptors.hpp.
typedef Lk jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::signalling< Lk >::atomic_t |
Definition at line 123 of file thread_safe_adaptors.hpp.
typedef lock_traits::exception_type jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::signalling< Lk >::exception_type |
Definition at line 125 of file thread_safe_adaptors.hpp.
typedef atomic_t::lock_traits jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::signalling< Lk >::lock_traits |
Definition at line 124 of file thread_safe_adaptors.hpp.
typedef atomic_t::locker_type jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::signalling< Lk >::locker_type |
Definition at line 126 of file thread_safe_adaptors.hpp.
|
inlineconstexprnoexcept |
Definition at line 137 of file thread_safe_adaptors.hpp.
|
inlineexplicitnoexcept |
Definition at line 140 of file thread_safe_adaptors.hpp.
|
inlinenoexcept |
Definition at line 144 of file thread_safe_adaptors.hpp.
|
delete |
|
inlinenoexcept |
Definition at line 170 of file thread_safe_adaptors.hpp.
|
inlinenoexcept |
Definition at line 177 of file thread_safe_adaptors.hpp.
|
inlinenoexcept |
Definition at line 71 of file thread_safe_adaptors_impl.hpp.
|
inlinenoexcept |
Definition at line 77 of file thread_safe_adaptors_impl.hpp.
|
inlineconstexprnoexcept |
Definition at line 153 of file thread_safe_adaptors.hpp.
|
inlinenoexcept |
Definition at line 157 of file thread_safe_adaptors.hpp.
|
inlineconstexprnoexcept |
Definition at line 161 of file thread_safe_adaptors.hpp.
|
inlinenoexcept |
Definition at line 165 of file thread_safe_adaptors.hpp.
|
delete |
|
delete |
|
inlinenoexcept |
Definition at line 50 of file thread_safe_adaptors_impl.hpp.
|
inlinenoexcept |
Definition at line 57 of file thread_safe_adaptors_impl.hpp.
|
inlinenoexcept |
Definition at line 65 of file thread_safe_adaptors_impl.hpp.
|
staticconstexpr |
To assist in allowing compile-time computation of the algorithmic order of the threading model.
Definition at line 131 of file thread_safe_adaptors.hpp.