std::experimental::atomic_shared_ptr
From cppreference.com
< cpp | experimental
C++
Experimental
| Technical Specification | ||||
| Filesystem library (filesystem TS) | ||||
| Library fundamentals (library fundamentals TS) | ||||
| Library fundamentals 2 (library fundamentals TS v2) | ||||
| Library fundamentals 3 (library fundamentals TS v3) | ||||
| Extensions for parallelism (parallelism TS) | ||||
| Extensions for parallelism 2 (parallelism TS v2) | ||||
| Extensions for concurrency (concurrency TS) | ||||
| Extensions for concurrency 2 (concurrency TS v2) | ||||
| Concepts (concepts TS) | ||||
| Ranges (ranges TS) | ||||
| Reflection (reflection TS) | ||||
| Mathematical special functions (special functions TR) | ||||
| Experimental Non-TS | ||||
| Pattern Matching | ||||
| Linear Algebra | ||||
| std::execution | ||||
| Contracts | ||||
| 2D Graphics |
Extensions for concurrency
| std::future extensions | ||||
| Latches and barriers | ||||
| Atomic smart pointers | ||||
experimental::atomic_shared_ptr | ||||
std::experimental::atomic_shared_ptr
|
|
Merged into ISO C++ The functionality described on this page was merged into the mainline ISO C++ standard as of 11/2017; see std::atomic<shared_ptr<T>> (since C++20) |
| Defined in header <experimental/atomic>
|
||
| template< class T > class atomic_shared_ptr; |
(concurrency TS) | |
The class template atomic_shared_ptr provides thread-safe atomic pointer operations over a std::shared_ptr. It provides a better alternative to the non-member shared_ptr atomic access functions.
[edit] Member functions
constructs an atomic_shared_ptr object (public member function) [edit] | |
stores a value into an atomic_shared_ptr object (public member function) [edit] | |
checks if the atomic_shared_ptr object is lock-free (public member function) [edit] | |
| atomically replaces the value of the atomic object with a non-atomic argument (public member function) [edit] | |
| atomically obtains the value of the atomic object (public member function) [edit] | |
| loads a value from an atomic object (public member function) [edit] | |
| atomically replaces the value of the atomic object and obtains the value held previously (public member function) [edit] | |
| atomically compares the value of the atomic object with non-atomic argument and performs atomic exchange if equal or atomic load if not (public member function) [edit] |