|
CARLA
|
A very simple atomic shared ptr with release-acquire memory order. More...
#include <AtomicSharedPtr.h>
Public Member Functions | |
| template<typename... Args> | |
| AtomicSharedPtr (Args &&... args) | |
| AtomicSharedPtr (AtomicSharedPtr &&)=delete | |
| AtomicSharedPtr (const AtomicSharedPtr &rhs) | |
| bool | compare_exchange (std::shared_ptr< T > *expected, std::shared_ptr< T > desired) noexcept |
| std::shared_ptr< T > | load () const noexcept |
| AtomicSharedPtr & | operator= (AtomicSharedPtr &&)=delete |
| AtomicSharedPtr & | operator= (const AtomicSharedPtr &rhs) noexcept |
| AtomicSharedPtr & | operator= (std::shared_ptr< T > ptr) noexcept |
| void | reset (std::shared_ptr< T > ptr=nullptr) noexcept |
| void | store (std::shared_ptr< T > ptr) noexcept |
Private Attributes | |
| std::shared_ptr< T > | _ptr |
A very simple atomic shared ptr with release-acquire memory order.
Definition at line 15 of file AtomicSharedPtr.h.
|
inlineexplicit |
Definition at line 19 of file AtomicSharedPtr.h.
|
inline |
Definition at line 22 of file AtomicSharedPtr.h.
|
delete |
|
inlinenoexcept |
Definition at line 39 of file AtomicSharedPtr.h.
References carla::AtomicSharedPtr< T >::_ptr.
|
inlinenoexcept |
Definition at line 35 of file AtomicSharedPtr.h.
References carla::AtomicSharedPtr< T >::_ptr.
Referenced by carla::client::detail::AtomicList< T >::Load(), and carla::client::detail::Load().
|
delete |
|
inlinenoexcept |
Definition at line 53 of file AtomicSharedPtr.h.
References carla::AtomicSharedPtr< T >::store().
|
inlinenoexcept |
Definition at line 48 of file AtomicSharedPtr.h.
References carla::AtomicSharedPtr< T >::store().
|
inlinenoexcept |
Definition at line 31 of file AtomicSharedPtr.h.
References carla::AtomicSharedPtr< T >::store().
|
inlinenoexcept |
Definition at line 27 of file AtomicSharedPtr.h.
References carla::AtomicSharedPtr< T >::_ptr.
Referenced by carla::AtomicSharedPtr< T >::operator=(), carla::AtomicSharedPtr< T >::operator=(), and carla::AtomicSharedPtr< T >::reset().
|
private |
Definition at line 62 of file AtomicSharedPtr.h.
Referenced by carla::AtomicSharedPtr< T >::compare_exchange(), carla::AtomicSharedPtr< T >::load(), and carla::AtomicSharedPtr< T >::store().