EtcPal  HEAD (unstable)
ETC Platform Abstraction Layer (EtcPal)
View other versions:
synchronized_value.h File Reference

Overview

Partially based on / inspired by Boost's synchronized_value type: https://github.com/boostorg/thread/blob/ac15f907be14ce070a99d0c719aa8bcdb14de6b0/include/boost/thread/synchronized_value.hpp (C) Copyright 2010 Just Software Solutions Ltd http://www.justsoftwaresolutions.co.uk (C) Copyright 2012 Vicente J.

Botet Escriba Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

C++ utility for bundling a value with the lock that guards it. Like a Rust Mutex<T>.

Go to the source code of this file.

Data Structures

struct  FirstType<... >
 Meta struct to extract the first type from a parameter pack. More...
 
struct  FirstType< First, Rest... >
 
struct  AdoptLockTag
 Tag requesting that a lock already held by the calling thread be adopted rather than acquired. More...
 
struct  DeferLockTag
 Tag requesting that the lock be left unacquired on construction, to be acquired later with ConstUniqueLockPtr::Lock() or ConstUniqueLockPtr::TryLock(). More...
 
struct  TryToLockTag
 Tag requesting that the lock be acquired with a poll or optional timed wait, never failing with an exception; check OwnsLock() for the result. More...
 
struct  SupportsTimedLock< LockType >
 Trait reporting whether SynchronizedValue::TryToSynchronize() honors its timeout for LockType on the target platform. More...
 
struct  SupportsTimedLock< Mutex >
 
struct  SupportsTimedLock< RecursiveMutex >
 
class  ConstStrictLockPtr< T, LockType >
 An RAII handle holding a SynchronizedValue's lock and granting read-only access to the value. More...
 
class  StrictLockPtr< T, LockType >
 An RAII handle holding a SynchronizedValue's lock and granting mutable access to the value. More...
 
class  ConstUniqueLockPtr< T, LockType >
 An RAII handle for read-only access whose lock may or may not be held. More...
 
class  UniqueLockPtr< T, LockType >
 An RAII handle for mutable access whose lock may or may not be held. More...
 
class  SynchronizedValue< T, LockType >
 A value bundled with a lock that guards all access to it. More...