Nix  2.93.0-dev
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
nix::Sync< T, M >::Lock Class Reference
Collaboration diagram for nix::Sync< T, M >::Lock:
[legend]

Public Member Functions

 Lock (Lock &&l)
 
Lockoperator= (Lock &&other)
 
 Lock (const Lock &l)=delete
 
T * operator-> ()
 
T & operator* ()
 
void wait (std::condition_variable &cv)
 
template<class Rep , class Period >
std::cv_status wait_for (std::condition_variable &cv, const std::chrono::duration< Rep, Period > &duration)
 
template<class Rep , class Period , class Predicate >
bool wait_for (std::condition_variable &cv, const std::chrono::duration< Rep, Period > &duration, Predicate pred)
 
template<class Clock , class Duration >
std::cv_status wait_until (std::condition_variable &cv, const std::chrono::time_point< Clock, Duration > &duration)
 

Protected Member Functions

 Lock (Sync &s)
 
 Lock (Sync &s, std::unique_lock< M > lk)
 
void checkLockingInvariants ()
 

Protected Attributes

Syncs
 
std::unique_lock< M > lk
 
friend Sync
 

Member Function Documentation

◆ wait()

template<class T , class M = std::mutex>
void nix::Sync< T, M >::Lock::wait ( std::condition_variable & cv)
inline

Wait for the given condition variable with no timeout.

May spuriously wake up.

◆ wait_for() [1/2]

template<class T , class M = std::mutex>
template<class Rep , class Period >
std::cv_status nix::Sync< T, M >::Lock::wait_for ( std::condition_variable & cv,
const std::chrono::duration< Rep, Period > & duration )
inline

Wait for the given condition variable for a maximum elapsed time of duration.

May spuriously wake up.

◆ wait_for() [2/2]

template<class T , class M = std::mutex>
template<class Rep , class Period , class Predicate >
bool nix::Sync< T, M >::Lock::wait_for ( std::condition_variable & cv,
const std::chrono::duration< Rep, Period > & duration,
Predicate pred )
inline

Wait for the given condition variable for a maximum elapsed time of duration. Calls pred to check if the wakeup should be heeded: pred returning false will ignore the wakeup.

◆ wait_until()

template<class T , class M = std::mutex>
template<class Clock , class Duration >
std::cv_status nix::Sync< T, M >::Lock::wait_until ( std::condition_variable & cv,
const std::chrono::time_point< Clock, Duration > & duration )
inline

Wait for the given condition variable or until the time point duration.


The documentation for this class was generated from the following file: