ThreadSafeValue< TData > Class Template Reference

Space-ng SDK: sol3::cpp::ThreadSafeValue< TData > Class Template Reference
Space-ng SDK
sol3::cpp::ThreadSafeValue< TData > Class Template Reference

Small helper for read/write access to a value guarded by a shared mutex. More...

#include <sol3/cpp/thread_safe_value.h>

Public Member Functions

 ThreadSafeValue ()=default
 
 ThreadSafeValue (TData data)
 
template<typename... TArgs>
 ThreadSafeValue (std::in_place_t in_place, TArgs &&... args)
 
template<typename TFunction >
auto mutate (TFunction &&cb)
 Exclusive access; executes cb(TData&) under a unique_lock. More...
 
template<typename TFunction >
auto access (TFunction &&cb) const
 Shared/read-only access; executes cb(TData const&) under a shared_lock. More...
 

Detailed Description

template<typename TData>
class sol3::cpp::ThreadSafeValue< TData >

Small helper for read/write access to a value guarded by a shared mutex.

Constructor & Destructor Documentation

◆ ThreadSafeValue() [1/3]

template<typename TData >
sol3::cpp::ThreadSafeValue< TData >::ThreadSafeValue ( )
default

◆ ThreadSafeValue() [2/3]

template<typename TData >
sol3::cpp::ThreadSafeValue< TData >::ThreadSafeValue ( TData  data)
inlineexplicit

◆ ThreadSafeValue() [3/3]

template<typename TData >
template<typename... TArgs>
sol3::cpp::ThreadSafeValue< TData >::ThreadSafeValue ( std::in_place_t  in_place,
TArgs &&...  args 
)
inlineexplicit

Member Function Documentation

◆ access()

template<typename TData >
template<typename TFunction >
auto sol3::cpp::ThreadSafeValue< TData >::access ( TFunction &&  cb) const
inline

Shared/read-only access; executes cb(TData const&) under a shared_lock.

◆ mutate()

template<typename TData >
template<typename TFunction >
auto sol3::cpp::ThreadSafeValue< TData >::mutate ( TFunction &&  cb)
inline

Exclusive access; executes cb(TData&) under a unique_lock.


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