16 #ifndef BLOOMBERG_QUANTUM_MUTEX_H 17 #define BLOOMBERG_QUANTUM_MUTEX_H 20 #include <quantum/quantum_traits.h> 21 #include <quantum/quantum_spinlock.h> 22 #include <quantum/interface/quantum_icontext.h> 23 #include <quantum/quantum_yielding_thread.h> 142 template <
class YIELDING>
143 void lockImpl(YIELDING&& yield);
151 #include <quantum/impl/quantum_mutex_impl.h> 153 #endif //BLOOMBERG_QUANTUM_MUTEX_H Mutex & operator=(const Mutex &other)=delete
~Guard()
Destructor. This will unlock the underlying mutex.
Definition: quantum_mutex_impl.h:108
Definition: quantum_buffer_impl.h:22
void unlock()
Unlock this mutex.
Definition: quantum_mutex_impl.h:60
Mutex()
Default constructor.
Definition: quantum_mutex_impl.h:29
std::shared_ptr< ICoroSync > Ptr
Definition: quantum_icoro_sync.h:36
~ReverseGuard()
Destroys this object and locks the underlying mutex.
Definition: quantum_mutex_impl.h:133
bool ownsLock() const
Determines if this object owns the underlying mutex.
Definition: quantum_mutex_impl.h:102
Guard(Mutex &mutex, bool tryLock=false)
Construct this object and lock the passed-in mutex.
Definition: quantum_mutex_impl.h:69
Definition: quantum_mutex.h:115
ReverseGuard(Mutex &mutex)
Construct this object and unlock the passed-in mutex.
Definition: quantum_mutex_impl.h:117
Definition: quantum_mutex.h:73
bool tryLock()
Tries to lock the mutex object.
Definition: quantum_mutex_impl.h:54
void lock()
Locks this mutex.
Definition: quantum_mutex_impl.h:33