mn::_atomic_ptr< T > Struct Template Reference

Special version for pointer. More...

#include <mn_atomic_primary_types.hpp>

+ Inheritance diagram for mn::_atomic_ptr< T >:
+ Collaboration diagram for mn::_atomic_ptr< T >:

Public Types

using pointer = T *
 
using base_type = BASE_ATOMIC_TYPE< pointer >
 
using self_type = _atomic< pointer >
 
using difference_type = mn::ptrdiff_t
 

Public Member Functions

 _atomic_ptr ()=default
 
 ~_atomic_ptr ()=default
 
constexpr _atomic_ptr (pointer value)
 
 _atomic_ptr (const self_type &)=delete
 
_atomic_ptroperator= (const self_type &)=delete
 
_atomic_ptroperator= (const self_type &) volatile=delete
 

Static Public Attributes

static constexpr bool is_always_lock_free = ATOMIC_POINTER_LOCK_FREE == 2
 

Detailed Description

template<typename T>
struct mn::_atomic_ptr< T >

Special version for pointer.

Member Typedef Documentation

◆ base_type

template<typename T >
using mn::_atomic_ptr< T >::base_type = BASE_ATOMIC_TYPE<pointer>

◆ difference_type

template<typename T >
using mn::_atomic_ptr< T >::difference_type = mn::ptrdiff_t

◆ pointer

template<typename T >
using mn::_atomic_ptr< T >::pointer = T*

◆ self_type

template<typename T >
using mn::_atomic_ptr< T >::self_type = _atomic<pointer>

Constructor & Destructor Documentation

◆ _atomic_ptr() [1/3]

template<typename T >
mn::_atomic_ptr< T >::_atomic_ptr ( )
default

◆ ~_atomic_ptr()

template<typename T >
mn::_atomic_ptr< T >::~_atomic_ptr ( )
default

◆ _atomic_ptr() [2/3]

template<typename T >
constexpr mn::_atomic_ptr< T >::_atomic_ptr ( pointer  value)
inlineconstexpr

◆ _atomic_ptr() [3/3]

template<typename T >
mn::_atomic_ptr< T >::_atomic_ptr ( const self_type )
delete

Member Function Documentation

◆ operator=() [1/2]

template<typename T >
_atomic_ptr& mn::_atomic_ptr< T >::operator= ( const self_type ) volatile
delete

◆ operator=() [2/2]

template<typename T >
_atomic_ptr& mn::_atomic_ptr< T >::operator= ( const self_type )
delete

Member Data Documentation

◆ is_always_lock_free

template<typename T >
constexpr bool mn::_atomic_ptr< T >::is_always_lock_free = ATOMIC_POINTER_LOCK_FREE == 2
staticconstexpr

The documentation for this struct was generated from the following file: