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