swift
Classes | Namespaces | Functions
lockfree.h File Reference

Go to the source code of this file.

Classes

class  swift::misc::LockFreeReader< T >
 Return value of LockFree::read(). More...
 
class  swift::misc::LockFreeUniqueWriter< T >
 Return value of LockFree::uniqueWrite(). More...
 
class  swift::misc::LockFreeSharedWriter< T >
 Return value of LockFree::sharedWrite(). More...
 
class  swift::misc::LockFree< T >
 Lock-free wrapper for synchronizing multi-threaded access to an object. More...
 
class  swift::misc::LockFreeMulti< T, Ts >
 Compose multiple LockFreeReader or LockFreeUniqueWriter instances. More...
 

Namespaces

 swift::misc
 Free functions in swift::misc.
 

Functions

template<typename... Ts>
LockFreeMulti< LockFreeReader, const Ts... > swift::misc::multiRead (const LockFree< Ts > &...vs)
 Return a callable object for reading from multiple LockFree instances simultaneously.
 
template<typename... Ts>
LockFreeMulti< LockFreeUniqueWriter, Ts... > swift::misc::multiUniqueWrite (LockFree< Ts > &...vs)
 Return a callable object for writing to multiple LockFree instances simultaneously.
 
template<typename T >
T::const_iterator swift::misc::begin (const LockFreeReader< T > &reader)
 Non-member begin() and end() for so LockFree containers can be used in ranged for loops.
 
template<typename T >
T::const_iterator swift::misc::end (const LockFreeReader< T > &reader)
 Non-member begin() and end() for so LockFree containers can be used in ranged for loops.
 
template<typename T >
T::iterator swift::misc::begin (const LockFreeUniqueWriter< T > &writer)
 Non-member begin() and end() for so LockFree containers can be used in ranged for loops.
 
template<typename T >
T::iterator swift::misc::end (const LockFreeUniqueWriter< T > &writer)
 Non-member begin() and end() for so LockFree containers can be used in ranged for loops.
 
template<typename T >
T::iterator swift::misc::begin (const LockFreeSharedWriter< T > &writer)
 Non-member begin() and end() for so LockFree containers can be used in ranged for loops.
 
template<typename T >
T::iterator swift::misc::end (const LockFreeSharedWriter< T > &writer)
 Non-member begin() and end() for so LockFree containers can be used in ranged for loops.
 
template<typename T >
T::const_iterator swift::misc::begin (const LockFreeReader< T > &&)=delete
 Deleted overloads of begin() and end() for rvalue readers and writers. More...
 
template<typename T >
T::const_iterator swift::misc::end (const LockFreeReader< T > &&)=delete
 Deleted overloads of begin() and end() for rvalue readers and writers. More...
 
template<typename T >
T::iterator swift::misc::begin (const LockFreeUniqueWriter< T > &&)=delete
 Deleted overloads of begin() and end() for rvalue readers and writers. More...
 
template<typename T >
T::iterator swift::misc::end (const LockFreeUniqueWriter< T > &&)=delete
 Deleted overloads of begin() and end() for rvalue readers and writers. More...
 
template<typename T >
T::iterator swift::misc::begin (const LockFreeSharedWriter< T > &&)=delete
 Deleted overloads of begin() and end() for rvalue readers and writers. More...
 
template<typename T >
T::iterator swift::misc::end (const LockFreeSharedWriter< T > &&)=delete
 Deleted overloads of begin() and end() for rvalue readers and writers. More...