Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
#include <atom.hpp>
Public Types | |
| using | box_type = box< T, MemoryPolicy > |
| using | value_type = T |
| using | memory_policy = MemoryPolicy |
| using | spinlock_t = typename MemoryPolicy::refcount::spinlock_type |
| using | scoped_lock_t = typename spinlock_t::scoped_lock |
Public Member Functions | |
| refcount_atom_impl (const refcount_atom_impl &)=delete | |
| refcount_atom_impl (refcount_atom_impl &&)=delete | |
| refcount_atom_impl & | operator= (const refcount_atom_impl &)=delete |
| refcount_atom_impl & | operator= (refcount_atom_impl &&)=delete |
| refcount_atom_impl (box_type b) | |
| box_type | load () const |
| void | store (box_type b) |
| box_type | exchange (box_type b) |
| template<typename Fn > | |
| box_type | update (Fn &&fn) |
Private Attributes | |
| spinlock_t | lock_ |
| box_type | impl_ |
Detailed Description
template<typename T, typename MemoryPolicy>
struct immer::detail::refcount_atom_impl< T, MemoryPolicy >
Member Typedef Documentation
◆ box_type
| using immer::detail::refcount_atom_impl< T, MemoryPolicy >::box_type = box<T, MemoryPolicy> |
◆ memory_policy
| using immer::detail::refcount_atom_impl< T, MemoryPolicy >::memory_policy = MemoryPolicy |
◆ scoped_lock_t
| using immer::detail::refcount_atom_impl< T, MemoryPolicy >::scoped_lock_t = typename spinlock_t::scoped_lock |
◆ spinlock_t
| using immer::detail::refcount_atom_impl< T, MemoryPolicy >::spinlock_t = typename MemoryPolicy::refcount::spinlock_type |
◆ value_type
| using immer::detail::refcount_atom_impl< T, MemoryPolicy >::value_type = T |
Constructor & Destructor Documentation
◆ refcount_atom_impl() [1/3]
|
delete |
◆ refcount_atom_impl() [2/3]
|
delete |
◆ refcount_atom_impl() [3/3]
|
inline |
Member Function Documentation
◆ exchange()
|
inline |
Definition at line 51 of file atom.hpp.
References immer::detail::refcount_atom_impl< T, MemoryPolicy >::impl_, and immer::detail::refcount_atom_impl< T, MemoryPolicy >::lock_.
◆ load()
|
inline |
Definition at line 39 of file atom.hpp.
References immer::detail::refcount_atom_impl< T, MemoryPolicy >::impl_, and immer::detail::refcount_atom_impl< T, MemoryPolicy >::lock_.
Referenced by immer::detail::refcount_atom_impl< T, MemoryPolicy >::update().
◆ operator=() [1/2]
|
delete |
◆ operator=() [2/2]
|
delete |
◆ store()
|
inline |
Definition at line 45 of file atom.hpp.
References immer::detail::refcount_atom_impl< T, MemoryPolicy >::impl_, and immer::detail::refcount_atom_impl< T, MemoryPolicy >::lock_.
◆ update()
|
inline |
Member Data Documentation
◆ impl_
|
private |
Definition at line 78 of file atom.hpp.
Referenced by immer::detail::refcount_atom_impl< T, MemoryPolicy >::exchange(), immer::detail::refcount_atom_impl< T, MemoryPolicy >::load(), immer::detail::refcount_atom_impl< T, MemoryPolicy >::store(), and immer::detail::refcount_atom_impl< T, MemoryPolicy >::update().
◆ lock_
|
mutableprivate |
Definition at line 77 of file atom.hpp.
Referenced by immer::detail::refcount_atom_impl< T, MemoryPolicy >::exchange(), immer::detail::refcount_atom_impl< T, MemoryPolicy >::load(), immer::detail::refcount_atom_impl< T, MemoryPolicy >::store(), and immer::detail::refcount_atom_impl< T, MemoryPolicy >::update().
The documentation for this struct was generated from the following file:
- src/immer/atom.hpp

