YACLib
C++ library for concurrent tasks execution
Loading...
Searching...
No Matches
yaclib::detail::MutexEvent Class Reference

#include <mutex_event.hpp>

Inheritance diagram for yaclib::detail::MutexEvent:
[legend]

Public Types

using Token = std::unique_lock< yaclib_std::mutex >
 

Public Member Functions

Token Make () noexcept
 
void Wait (Token &token) noexcept
 
template<typename Rep , typename Period >
bool Wait (Token &token, const std::chrono::duration< Rep, Period > &timeout_duration) noexcept
 
template<typename Clock , typename Duration >
bool Wait (Token &token, const std::chrono::time_point< Clock, Duration > &timeout_time) noexcept
 
void Set () noexcept
 
void Reset () noexcept
 

Detailed Description

Definition at line 11 of file mutex_event.hpp.

Member Typedef Documentation

◆ Token

Definition at line 13 of file mutex_event.hpp.

Member Function Documentation

◆ Make()

MutexEvent::Token yaclib::detail::MutexEvent::Make ( )
noexcept

Definition at line 5 of file mutex_event.cpp.

Referenced by yaclib::OneShotEvent::Wait().

◆ Reset()

void yaclib::detail::MutexEvent::Reset ( )
noexcept

Definition at line 21 of file mutex_event.cpp.

◆ Set()

void yaclib::detail::MutexEvent::Set ( )
noexcept

Definition at line 15 of file mutex_event.cpp.

Referenced by yaclib::OneShotEvent::TimedWaiter::Call().

◆ Wait() [1/3]

void yaclib::detail::MutexEvent::Wait ( Token token)
noexcept

Definition at line 9 of file mutex_event.cpp.

References yaclib::MakeContract().

◆ Wait() [2/3]

template<typename Rep , typename Period >
bool yaclib::detail::MutexEvent::Wait ( Token token,
const std::chrono::duration< Rep, Period > &  timeout_duration 
)
inlinenoexcept

Definition at line 20 of file mutex_event.hpp.

References yaclib::MakeContract().

◆ Wait() [3/3]

bool yaclib::detail::MutexEvent::Wait ( Token token,
const std::chrono::time_point< Clock, Duration > &  timeout_time 
)
inlinenoexcept

Definition at line 27 of file mutex_event.hpp.

References yaclib::MakeContract().


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