Bitcoin Core 32.99.0
P2P Digital Currency
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
btcsignals::detail::atomic_shared_ptr< T > Class Template Reference

Substitute for the C++20 std::atomic<std::shared_ptr<T>> specialization on standard libraries that do not provide it yet (feature-test macro __cpp_lib_atomic_shared_ptr), implemented with the C++11 atomic_load and atomic_store overloads for shared_ptr. More...

#include <btcsignals.h>

Public Member Functions

 atomic_shared_ptr (std::shared_ptr< T > ptr) noexcept
 
 atomic_shared_ptr (const atomic_shared_ptr &)=delete
 
atomic_shared_ptr & operator= (const atomic_shared_ptr &)=delete
 
std::shared_ptr< T > load () const noexcept
 
void store (std::shared_ptr< T > ptr) noexcept
 

Private Attributes

std::shared_ptr< T > m_ptr
 

Detailed Description

template<typename T>
class btcsignals::detail::atomic_shared_ptr< T >

Substitute for the C++20 std::atomic<std::shared_ptr<T>> specialization on standard libraries that do not provide it yet (feature-test macro __cpp_lib_atomic_shared_ptr), implemented with the C++11 atomic_load and atomic_store overloads for shared_ptr.

Only the members used here are provided.

Definition at line 69 of file btcsignals.h.

Constructor & Destructor Documentation

◆ atomic_shared_ptr() [1/2]

template<typename T >
btcsignals::detail::atomic_shared_ptr< T >::atomic_shared_ptr ( std::shared_ptr< T >  ptr)
inlineexplicitnoexcept

Definition at line 74 of file btcsignals.h.

◆ atomic_shared_ptr() [2/2]

template<typename T >
btcsignals::detail::atomic_shared_ptr< T >::atomic_shared_ptr ( const atomic_shared_ptr< T > &  )
delete

Member Function Documentation

◆ load()

template<typename T >
std::shared_ptr< T > btcsignals::detail::atomic_shared_ptr< T >::load ( ) const
inlinenoexcept

Definition at line 77 of file btcsignals.h.

Here is the caller graph for this function:

◆ operator=()

template<typename T >
atomic_shared_ptr & btcsignals::detail::atomic_shared_ptr< T >::operator= ( const atomic_shared_ptr< T > &  )
delete

◆ store()

template<typename T >
void btcsignals::detail::atomic_shared_ptr< T >::store ( std::shared_ptr< T >  ptr)
inlinenoexcept

Definition at line 78 of file btcsignals.h.

Here is the caller graph for this function:

Member Data Documentation

◆ m_ptr

template<typename T >
std::shared_ptr<T> btcsignals::detail::atomic_shared_ptr< T >::m_ptr
private

Definition at line 71 of file btcsignals.h.


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