Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

immer::detail::refcount_atom_impl< T, MemoryPolicy > Struct Template Reference

#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_imploperator= (const refcount_atom_impl &)=delete
 
refcount_atom_imploperator= (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 >

Definition at line 22 of file atom.hpp.

Member Typedef Documentation

◆ box_type

template<typename T , typename MemoryPolicy >
using immer::detail::refcount_atom_impl< T, MemoryPolicy >::box_type = box<T, MemoryPolicy>

Definition at line 24 of file atom.hpp.

◆ memory_policy

template<typename T , typename MemoryPolicy >
using immer::detail::refcount_atom_impl< T, MemoryPolicy >::memory_policy = MemoryPolicy

Definition at line 26 of file atom.hpp.

◆ scoped_lock_t

template<typename T , typename MemoryPolicy >
using immer::detail::refcount_atom_impl< T, MemoryPolicy >::scoped_lock_t = typename spinlock_t::scoped_lock

Definition at line 28 of file atom.hpp.

◆ spinlock_t

template<typename T , typename MemoryPolicy >
using immer::detail::refcount_atom_impl< T, MemoryPolicy >::spinlock_t = typename MemoryPolicy::refcount::spinlock_type

Definition at line 27 of file atom.hpp.

◆ value_type

template<typename T , typename MemoryPolicy >
using immer::detail::refcount_atom_impl< T, MemoryPolicy >::value_type = T

Definition at line 25 of file atom.hpp.

Constructor & Destructor Documentation

◆ refcount_atom_impl() [1/3]

template<typename T , typename MemoryPolicy >
immer::detail::refcount_atom_impl< T, MemoryPolicy >::refcount_atom_impl ( const refcount_atom_impl< T, MemoryPolicy > &  )
delete

◆ refcount_atom_impl() [2/3]

template<typename T , typename MemoryPolicy >
immer::detail::refcount_atom_impl< T, MemoryPolicy >::refcount_atom_impl ( refcount_atom_impl< T, MemoryPolicy > &&  )
delete

◆ refcount_atom_impl() [3/3]

template<typename T , typename MemoryPolicy >
immer::detail::refcount_atom_impl< T, MemoryPolicy >::refcount_atom_impl ( box_type  b)
inline

Definition at line 35 of file atom.hpp.

Member Function Documentation

◆ exchange()

template<typename T , typename MemoryPolicy >
box_type immer::detail::refcount_atom_impl< T, MemoryPolicy >::exchange ( box_type  b)
inline

◆ load()

template<typename T , typename MemoryPolicy >
box_type immer::detail::refcount_atom_impl< T, MemoryPolicy >::load ( ) const
inline

◆ operator=() [1/2]

template<typename T , typename MemoryPolicy >
refcount_atom_impl& immer::detail::refcount_atom_impl< T, MemoryPolicy >::operator= ( const refcount_atom_impl< T, MemoryPolicy > &  )
delete

◆ operator=() [2/2]

template<typename T , typename MemoryPolicy >
refcount_atom_impl& immer::detail::refcount_atom_impl< T, MemoryPolicy >::operator= ( refcount_atom_impl< T, MemoryPolicy > &&  )
delete

◆ store()

template<typename T , typename MemoryPolicy >
void immer::detail::refcount_atom_impl< T, MemoryPolicy >::store ( box_type  b)
inline

◆ update()

Member Data Documentation

◆ impl_

◆ lock_


The documentation for this struct was generated from the following file:
Released under the MIT license