LLDB mainline
lldb_private::ThreadSafeValue< T > Class Template Reference

#include <ThreadSafeValue.h>

Inheritance diagram for lldb_private::ThreadSafeValue< T >:
[legend]

Public Member Functions

 ThreadSafeValue ()=default
 ThreadSafeValue (const T &value)
 ~ThreadSafeValue ()=default
GetValue () const
const T & GetValueNoLock () const
void SetValue (const T &value)
void SetValueNoLock (const T &value)
std::recursive_mutex & GetMutex ()

Private Member Functions

 ThreadSafeValue (const ThreadSafeValue &)=delete
const ThreadSafeValueoperator= (const ThreadSafeValue &)=delete

Private Attributes

m_value
std::recursive_mutex m_mutex

Detailed Description

template<class T>
class lldb_private::ThreadSafeValue< T >

Definition at line 18 of file ThreadSafeValue.h.

Constructor & Destructor Documentation

◆ ThreadSafeValue() [1/3]

template<class T>
lldb_private::ThreadSafeValue< T >::ThreadSafeValue ( )
default

Referenced by operator=(), and ThreadSafeValue().

◆ ThreadSafeValue() [2/3]

template<class T>
lldb_private::ThreadSafeValue< T >::ThreadSafeValue ( const T & value)
inline

Definition at line 21 of file ThreadSafeValue.h.

References m_value.

◆ ~ThreadSafeValue()

template<class T>
lldb_private::ThreadSafeValue< T >::~ThreadSafeValue ( )
default

◆ ThreadSafeValue() [3/3]

template<class T>
lldb_private::ThreadSafeValue< T >::ThreadSafeValue ( const ThreadSafeValue< T > & )
privatedelete

References ThreadSafeValue().

Member Function Documentation

◆ GetMutex()

template<class T>
std::recursive_mutex & lldb_private::ThreadSafeValue< T >::GetMutex ( )
inline

Definition at line 48 of file ThreadSafeValue.h.

References m_mutex.

◆ GetValue()

template<class T>
T lldb_private::ThreadSafeValue< T >::GetValue ( ) const
inline

Definition at line 25 of file ThreadSafeValue.h.

References m_mutex, and m_value.

◆ GetValueNoLock()

template<class T>
const T & lldb_private::ThreadSafeValue< T >::GetValueNoLock ( ) const
inline

Definition at line 36 of file ThreadSafeValue.h.

References m_value.

◆ operator=()

template<class T>
const ThreadSafeValue & lldb_private::ThreadSafeValue< T >::operator= ( const ThreadSafeValue< T > & )
privatedelete

References ThreadSafeValue().

◆ SetValue()

template<class T>
void lldb_private::ThreadSafeValue< T >::SetValue ( const T & value)
inline

Definition at line 38 of file ThreadSafeValue.h.

References m_mutex, and m_value.

◆ SetValueNoLock()

template<class T>
void lldb_private::ThreadSafeValue< T >::SetValueNoLock ( const T & value)
inline

Definition at line 46 of file ThreadSafeValue.h.

References m_value.

Member Data Documentation

◆ m_mutex

template<class T>
std::recursive_mutex lldb_private::ThreadSafeValue< T >::m_mutex
mutableprivate

Definition at line 52 of file ThreadSafeValue.h.

Referenced by GetMutex(), GetValue(), and SetValue().

◆ m_value

template<class T>
T lldb_private::ThreadSafeValue< T >::m_value
private

Definition at line 51 of file ThreadSafeValue.h.

Referenced by GetValue(), GetValueNoLock(), SetValue(), SetValueNoLock(), and ThreadSafeValue().


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