YACLib
C++ library for concurrent tasks execution
Loading...
Searching...
No Matches
yaclib::UniqueGuard< M > Class Template Reference

#include <guard.hpp>

Inheritance diagram for yaclib::UniqueGuard< M >:
[legend]
Collaboration diagram for yaclib::UniqueGuard< M >:
[legend]

Public Types

using MutexType = M
 

Additional Inherited Members

- Public Member Functions inherited from yaclib::detail::Guard< M, false >
 Guard () noexcept=default
 
 Guard (Guard &&other) noexcept
 
 Guard (M &m, std::defer_lock_t) noexcept
 
 Guard (M &m, std::try_to_lock_t) noexcept
 
 Guard (M &m, std::adopt_lock_t) noexcept
 
 ~Guard () noexcept
 
Guardoperator= (Guard &&other) noexcept
 
auto Lock () noexcept
 
bool TryLock () noexcept
 
auto Unlock () noexcept
 
auto UnlockOn (IExecutor &e) noexcept
 
void UnlockHere () noexcept
 
void Swap (Guard &other) noexcept
 
M * Release () noexcept
 
M * Mutex () const noexcept
 
bool OwnsLock () const noexcept
 
 operator bool () const noexcept
 
- Protected Member Functions inherited from yaclib::detail::GuardState
 GuardState () noexcept=default
 
 GuardState (void *ptr, bool owns) noexcept
 
 GuardState (GuardState &&other) noexcept
 
GuardStateoperator= (GuardState &&other) noexcept
 
void Swap (GuardState &other) noexcept
 
voidPtr () const
 
bool Owns () const noexcept
 
voidLockState () noexcept
 
voidUnlockState () noexcept
 
voidReleaseState () noexcept
 
- Protected Attributes inherited from yaclib::detail::GuardState
std::uintptr_t _state = 0
 

Detailed Description

template<typename M>
class yaclib::UniqueGuard< M >

Definition at line 113 of file guard.hpp.

Member Typedef Documentation

◆ MutexType

template<typename M >
using yaclib::UniqueGuard< M >::MutexType = M

Definition at line 115 of file guard.hpp.


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