Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
boost::detail::atomic::base_atomic< T *, void *, Size, Sign > Class Template Reference

#include <base.hpp>

Public Member Functions

 base_atomic (value_type v)
 
 base_atomic (void)
 
bool compare_exchange_strong (value_type &expected, value_type desired, memory_order, memory_order) volatile
 
bool compare_exchange_weak (value_type &expected, value_type desired, memory_order success_order, memory_order failure_order) volatile
 
value_type exchange (value_type v, memory_order=memory_order_seq_cst) volatile
 
value_type fetch_add (difference_type v, memory_order=memory_order_seq_cst) volatile
 
value_type fetch_sub (difference_type v, memory_order=memory_order_seq_cst) volatile
 
bool is_lock_free (void) const volatile
 
value_type load (memory_order=memory_order_seq_cst) const volatile
 
void store (value_type v, memory_order=memory_order_seq_cst) volatile
 

Private Types

typedef ptrdiff_t difference_type
 
typedef detail::spinlock_pool< 0 >::scoped_lock guard_type
 
typedef base_atomic this_type
 
typedef T * value_type
 

Private Member Functions

 base_atomic (const base_atomic &)
 
void operator= (const base_atomic &)
 

Private Attributes

value_type v_
 

Detailed Description

template<typename T, unsigned int Size, bool Sign>
class boost::detail::atomic::base_atomic< T *, void *, Size, Sign >

Definition at line 345 of file base.hpp.

Member Typedef Documentation

template<typename T , unsigned int Size, bool Sign>
typedef ptrdiff_t boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::difference_type
private

Definition at line 349 of file base.hpp.

template<typename T , unsigned int Size, bool Sign>
typedef detail::spinlock_pool<0>::scoped_lock boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::guard_type
private

Definition at line 350 of file base.hpp.

template<typename T , unsigned int Size, bool Sign>
typedef base_atomic boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::this_type
private

Definition at line 347 of file base.hpp.

template<typename T , unsigned int Size, bool Sign>
typedef T* boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::value_type
private

Definition at line 348 of file base.hpp.

Constructor & Destructor Documentation

template<typename T , unsigned int Size, bool Sign>
boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::base_atomic ( value_type  v)
inlineexplicit

Definition at line 352 of file base.hpp.

template<typename T , unsigned int Size, bool Sign>
boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::base_atomic ( void  )
inline

Definition at line 353 of file base.hpp.

template<typename T , unsigned int Size, bool Sign>
boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::base_atomic ( const base_atomic< T *, void *, Size, Sign > &  )
private

Member Function Documentation

template<typename T , unsigned int Size, bool Sign>
bool boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::compare_exchange_strong ( value_type expected,
value_type  desired,
memory_order  ,
memory_order   
) volatile
inline

Definition at line 382 of file base.hpp.

template<typename T , unsigned int Size, bool Sign>
bool boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::compare_exchange_weak ( value_type expected,
value_type  desired,
memory_order  success_order,
memory_order  failure_order 
) volatile
inline

Definition at line 398 of file base.hpp.

template<typename T , unsigned int Size, bool Sign>
value_type boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::exchange ( value_type  v,
memory_order  = memory_order_seq_cst 
) volatile
inline

Definition at line 372 of file base.hpp.

template<typename T , unsigned int Size, bool Sign>
value_type boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::fetch_add ( difference_type  v,
memory_order  = memory_order_seq_cst 
) volatile
inline

Definition at line 405 of file base.hpp.

template<typename T , unsigned int Size, bool Sign>
value_type boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::fetch_sub ( difference_type  v,
memory_order  = memory_order_seq_cst 
) volatile
inline

Definition at line 414 of file base.hpp.

template<typename T , unsigned int Size, bool Sign>
bool boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::is_lock_free ( void  ) const volatile
inline

Definition at line 424 of file base.hpp.

template<typename T , unsigned int Size, bool Sign>
value_type boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::load ( memory_order  = memory_order_seq_cst) const volatile
inline

Definition at line 363 of file base.hpp.

template<typename T , unsigned int Size, bool Sign>
void boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::operator= ( const base_atomic< T *, void *, Size, Sign > &  )
private
template<typename T , unsigned int Size, bool Sign>
void boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::store ( value_type  v,
memory_order  = memory_order_seq_cst 
) volatile
inline

Definition at line 356 of file base.hpp.

Member Data Documentation

template<typename T , unsigned int Size, bool Sign>
value_type boost::detail::atomic::base_atomic< T *, void *, Size, Sign >::v_
private

Definition at line 433 of file base.hpp.


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


rosatomic
Author(s): Josh Faust
autogenerated on Mon Jun 10 2019 14:44:41