libcopp  1.1.0
Public Types | Public Member Functions | Private Member Functions | Private Attributes
util::lock::atomic_int_type< Ty > Class Template Reference

#include <atomic_int_type.h>

Collaboration diagram for util::lock::atomic_int_type< Ty >:
Collaboration graph

Public Types

typedef Ty value_type
 

Public Member Functions

 atomic_int_type () UTIL_CONFIG_NOEXCEPT
 
 atomic_int_type (value_type desired) UTIL_CONFIG_NOEXCEPT
 
void store (value_type desired,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
void store (value_type desired,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type load (::util::lock::memory_order order=::util::lock::memory_order_seq_cst) const UTIL_CONFIG_NOEXCEPT
 
value_type load (::util::lock::memory_order order=::util::lock::memory_order_seq_cst) const volatile UTIL_CONFIG_NOEXCEPT
 
 operator value_type () const UTIL_CONFIG_NOEXCEPT
 
 operator value_type () const volatile UTIL_CONFIG_NOEXCEPT
 
value_type operator= (value_type desired) UTIL_CONFIG_NOEXCEPT
 
value_type operator= (value_type desired) volatile UTIL_CONFIG_NOEXCEPT
 
value_type operator++ () UTIL_CONFIG_NOEXCEPT
 
value_type operator++ () volatile UTIL_CONFIG_NOEXCEPT
 
value_type operator++ (int) UTIL_CONFIG_NOEXCEPT
 
value_type operator++ (int) volatile UTIL_CONFIG_NOEXCEPT
 
value_type operator-- () UTIL_CONFIG_NOEXCEPT
 
value_type operator-- () volatile UTIL_CONFIG_NOEXCEPT
 
value_type operator-- (int) UTIL_CONFIG_NOEXCEPT
 
value_type operator-- (int) volatile UTIL_CONFIG_NOEXCEPT
 
value_type exchange (value_type desired,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type exchange (value_type desired,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_weak (value_type &expected, value_type desired,::util::lock::memory_order success,::util::lock::memory_order failure) UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_weak (value_type &expected, value_type desired,::util::lock::memory_order success,::util::lock::memory_order failure) volatile UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_weak (value_type &expected, value_type desired,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_weak (value_type &expected, value_type desired,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_strong (value_type &expected, value_type desired,::util::lock::memory_order success,::util::lock::memory_order failure) UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_strong (value_type &expected, value_type desired,::util::lock::memory_order success,::util::lock::memory_order failure) volatile UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_strong (value_type &expected, value_type desired,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_strong (value_type &expected, value_type desired,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type fetch_add (value_type arg,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type fetch_add (value_type arg,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type fetch_sub (value_type arg,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type fetch_sub (value_type arg,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type fetch_and (value_type arg,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type fetch_and (value_type arg,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type fetch_or (value_type arg,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type fetch_or (value_type arg,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type fetch_xor (value_type arg,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type fetch_xor (value_type arg,::util::lock::memory_order order=::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 

Private Member Functions

 atomic_int_type (const atomic_int_type &) UTIL_CONFIG_DELETED_FUNCTION
 
atomic_int_typeoperator= (const atomic_int_type &) UTIL_CONFIG_DELETED_FUNCTION
 
atomic_int_typeoperator= (const atomic_int_type &) volatile UTIL_CONFIG_DELETED_FUNCTION
 

Private Attributes

volatile value_type data_
 

Detailed Description

template<typename Ty = int>
class util::lock::atomic_int_type< Ty >

Definition at line 299 of file atomic_int_type.h.

Member Typedef Documentation

template<typename Ty = int>
typedef Ty util::lock::atomic_int_type< Ty >::value_type

Definition at line 301 of file atomic_int_type.h.

Constructor & Destructor Documentation

template<typename Ty = int>
util::lock::atomic_int_type< Ty >::atomic_int_type ( const atomic_int_type< Ty > &  )
private
template<typename Ty = int>
util::lock::atomic_int_type< Ty >::atomic_int_type ( )
inline

Definition at line 320 of file atomic_int_type.h.

template<typename Ty = int>
util::lock::atomic_int_type< Ty >::atomic_int_type ( value_type  desired)
inline

Definition at line 321 of file atomic_int_type.h.

Member Function Documentation

template<typename Ty = int>
bool util::lock::atomic_int_type< Ty >::compare_exchange_strong ( value_type expected,
value_type  desired,
::util::lock::memory_order  success,
::util::lock::memory_order  failure 
)
inline
template<typename Ty = int>
bool util::lock::atomic_int_type< Ty >::compare_exchange_strong ( value_type expected,
value_type  desired,
::util::lock::memory_order  success,
::util::lock::memory_order  failure 
) volatile
inline

Definition at line 623 of file atomic_int_type.h.

template<typename Ty = int>
bool util::lock::atomic_int_type< Ty >::compare_exchange_strong ( value_type expected,
value_type  desired,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
)
inline

Definition at line 649 of file atomic_int_type.h.

template<typename Ty = int>
bool util::lock::atomic_int_type< Ty >::compare_exchange_strong ( value_type expected,
value_type  desired,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
) volatile
inline

Definition at line 675 of file atomic_int_type.h.

template<typename Ty = int>
bool util::lock::atomic_int_type< Ty >::compare_exchange_weak ( value_type expected,
value_type  desired,
::util::lock::memory_order  success,
::util::lock::memory_order  failure 
)
inline
template<typename Ty = int>
bool util::lock::atomic_int_type< Ty >::compare_exchange_weak ( value_type expected,
value_type  desired,
::util::lock::memory_order  success,
::util::lock::memory_order  failure 
) volatile
inline

Definition at line 522 of file atomic_int_type.h.

template<typename Ty = int>
bool util::lock::atomic_int_type< Ty >::compare_exchange_weak ( value_type expected,
value_type  desired,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
)
inline

Definition at line 547 of file atomic_int_type.h.

template<typename Ty = int>
bool util::lock::atomic_int_type< Ty >::compare_exchange_weak ( value_type expected,
value_type  desired,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
) volatile
inline

Definition at line 573 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::exchange ( value_type  desired,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
)
inline
template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::exchange ( value_type  desired,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
) volatile
inline

Definition at line 479 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::fetch_add ( value_type  arg,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
)
inline
template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::fetch_add ( value_type  arg,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
) volatile
inline

Definition at line 715 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::fetch_and ( value_type  arg,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
)
inline

Definition at line 756 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::fetch_and ( value_type  arg,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
) volatile
inline

Definition at line 770 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::fetch_or ( value_type  arg,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
)
inline

Definition at line 783 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::fetch_or ( value_type  arg,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
) volatile
inline

Definition at line 797 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::fetch_sub ( value_type  arg,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
)
inline
template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::fetch_sub ( value_type  arg,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
) volatile
inline

Definition at line 743 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::fetch_xor ( value_type  arg,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
)
inline

Definition at line 810 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::fetch_xor ( value_type  arg,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
) volatile
inline

Definition at line 825 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::load ( ::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst) const
inline
template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::load ( ::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst) const volatile
inline

Definition at line 365 of file atomic_int_type.h.

template<typename Ty = int>
util::lock::atomic_int_type< Ty >::operator value_type ( ) const
inline

Definition at line 380 of file atomic_int_type.h.

template<typename Ty = int>
util::lock::atomic_int_type< Ty >::operator value_type ( ) const volatile
inline

Definition at line 381 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::operator++ ( )
inline

Definition at line 386 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::operator++ ( ) volatile
inline

Definition at line 395 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::operator++ ( int  )
inline

Definition at line 404 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::operator++ ( int  ) volatile
inline

Definition at line 413 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::operator-- ( )
inline

Definition at line 422 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::operator-- ( ) volatile
inline

Definition at line 431 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::operator-- ( int  )
inline

Definition at line 440 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::operator-- ( int  ) volatile
inline

Definition at line 449 of file atomic_int_type.h.

template<typename Ty = int>
atomic_int_type& util::lock::atomic_int_type< Ty >::operator= ( const atomic_int_type< Ty > &  )
private
template<typename Ty = int>
atomic_int_type& util::lock::atomic_int_type< Ty >::operator= ( const atomic_int_type< Ty > &  ) volatile
private
template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::operator= ( value_type  desired)
inline

Definition at line 383 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::operator= ( value_type  desired) volatile
inline

Definition at line 384 of file atomic_int_type.h.

template<typename Ty = int>
void util::lock::atomic_int_type< Ty >::store ( value_type  desired,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
)
inline
template<typename Ty = int>
void util::lock::atomic_int_type< Ty >::store ( value_type  desired,
::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
) volatile
inline

Definition at line 337 of file atomic_int_type.h.

Field Documentation

template<typename Ty = int>
volatile value_type util::lock::atomic_int_type< Ty >::data_
private

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