SynchronizedValue< T, Serializer > Class Template Reference

#include <synchronized.h>

Public Member Functions

 SynchronizedValue ()=default
 
 SynchronizedValue (const T &v)
 
 SynchronizedValue (T &&v)
 
template<typename FN >
void WriteAsync (FN &&fn)
 
template<typename FN >
auto Write (FN &&fn) -> decltype(fn(_value))
 
template<typename FN >
auto Read (FN &&fn) const -> decltype(fn(_value))
 
Get () const
 
T & UnsynchronizedGet ()
 
const T & UnsynchronizedGet () const
 

Private Attributes

_value
 
SFINAEHelper< Serializer, T >::type _serializer
 

Constructor & Destructor Documentation

◆ SynchronizedValue() [1/3]

SynchronizedValue ( )
default

◆ SynchronizedValue() [2/3]

SynchronizedValue ( const T &  v)
explicit

◆ SynchronizedValue() [3/3]

SynchronizedValue ( T &&  v)
explicit

Member Function Documentation

◆ WriteAsync()

void WriteAsync ( FN &&  fn)

◆ Write()

auto Write ( FN &&  fn) -> decltype(fn(_value))

◆ Read()

auto Read ( FN &&  fn) const -> decltype(fn(_value))

◆ Get()

T Get ( ) const

◆ UnsynchronizedGet() [1/2]

T& UnsynchronizedGet ( )

◆ UnsynchronizedGet() [2/2]

const T& UnsynchronizedGet ( ) const

Member Data Documentation

◆ _value

T _value
private

◆ _serializer

SFINAEHelper<Serializer, T>::type _serializer
mutableprivate