QuickCppLib 0.10
Eliminate all the tedious hassle when making state-of-the-art C++ 14 - 23 libraries!
|
Namespaces | |
namespace | detail |
Classes | |
class | lock_guard |
struct | lockable_ptr |
Lets you use a pointer to memory as a spinlock :) More... | |
struct | null_spin_policy |
A spin policy which does nothing. More... | |
struct | ordered_spinlockbase |
class | shared_spinlock |
A non-FIFO policy configurable shared/exclusive spin lock meeting the SharedMutex concept. More... | |
struct | shared_spinlockbase |
class | spinlock |
A non-FIFO policy configurable spin lock meeting the Mutex concept providing the fastest possible spin lock. More... | |
struct | spinlockbase |
struct | spinlockbase< lockable_ptr< T > > |
struct | spins_to_loop |
How many spins to loop, optionally calling the SMT pause instruction on Intel. More... | |
struct | spins_to_sleep |
How many spins to sleep the current thread. More... | |
struct | spins_to_yield |
How many spins to yield the current thread's timeslice. More... | |
Typedefs | |
template<class T > | |
using | atomic = std::atomic< T > |
Functions | |
template<class T > | |
bool | is_lockable_locked (T &lockable) noexcept |
Determines if a lockable is locked. Type specialise this for performance if your lockable allows examination. | |
template<class T , template< class > class spinpolicy2, template< class > class spinpolicy3, template< class > class spinpolicy4> | |
constexpr T | is_lockable_locked (spinlock< T, spinpolicy2, spinpolicy3, spinpolicy4 > &lockable) noexcept |
template<class T , template< class > class spinpolicy2, template< class > class spinpolicy3, template< class > class spinpolicy4> | |
constexpr T | is_lockable_locked (const spinlock< T, spinpolicy2, spinpolicy3, spinpolicy4 > &lockable) noexcept |
template<class T , template< class > class spinpolicy2, template< class > class spinpolicy3, template< class > class spinpolicy4> | |
constexpr bool | is_lockable_locked (spinlock< lockable_ptr< T >, spinpolicy2, spinpolicy3, spinpolicy4 > &lockable) noexcept |
template<class T , template< class > class spinpolicy2, template< class > class spinpolicy3, template< class > class spinpolicy4> | |
constexpr T | is_lockable_locked (shared_spinlock< T, spinpolicy2, spinpolicy3, spinpolicy4 > &lockable) noexcept |
using quickcpplib::_xxx::configurable_spinlock::atomic = typedef std::atomic<T> |
|
inlinenoexcept |
Determines if a lockable is locked. Type specialise this for performance if your lockable allows examination.
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |