Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

immer::detail::gc_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
 

Public Member Functions

 gc_atom_impl (const gc_atom_impl &)=delete
 
 gc_atom_impl (gc_atom_impl &&)=delete
 
gc_atom_imploperator= (const gc_atom_impl &)=delete
 
gc_atom_imploperator= (gc_atom_impl &&)=delete
 
 gc_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

std::atomic< typename box_type::holder * > impl_
 

Detailed Description

template<typename T, typename MemoryPolicy>
struct immer::detail::gc_atom_impl< T, MemoryPolicy >

Definition at line 82 of file atom.hpp.

Member Typedef Documentation

◆ box_type

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

Definition at line 84 of file atom.hpp.

◆ memory_policy

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

Definition at line 86 of file atom.hpp.

◆ value_type

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

Definition at line 85 of file atom.hpp.

Constructor & Destructor Documentation

◆ gc_atom_impl() [1/3]

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

◆ gc_atom_impl() [2/3]

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

◆ gc_atom_impl() [3/3]

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

Definition at line 98 of file atom.hpp.

References immer::box< T, MemoryPolicy >::impl_.

Member Function Documentation

◆ exchange()

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

◆ load()

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

Definition at line 102 of file atom.hpp.

References immer::detail::gc_atom_impl< T, MemoryPolicy >::impl_.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ store()

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

◆ update()

template<typename T , typename MemoryPolicy >
template<typename Fn >
box_type immer::detail::gc_atom_impl< T, MemoryPolicy >::update ( Fn &&  fn)
inline

Definition at line 112 of file atom.hpp.

References immer::detail::gc_atom_impl< T, MemoryPolicy >::impl_.

Member Data Documentation

◆ impl_


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