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

#include <atomic_int_type.h>

Collaboration diagram for libcopp::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, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
void store (value_type desired, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type load (EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) const UTIL_CONFIG_NOEXCEPT
 
value_type load (EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::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, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type exchange (value_type desired, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_weak (value_type &expected, value_type desired, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order success, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order failure) UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_weak (value_type &expected, value_type desired, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order success, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order failure) volatile UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_weak (value_type &expected, value_type desired, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_weak (value_type &expected, value_type desired, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_strong (value_type &expected, value_type desired, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order success, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order failure) UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_strong (value_type &expected, value_type desired, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order success, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order failure) volatile UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_strong (value_type &expected, value_type desired, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_strong (value_type &expected, value_type desired, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type fetch_add (value_type arg, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type fetch_add (value_type arg, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type fetch_sub (value_type arg, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type fetch_sub (value_type arg, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type fetch_and (value_type arg, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type fetch_and (value_type arg, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type fetch_or (value_type arg, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type fetch_or (value_type arg, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type fetch_xor (value_type arg, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type fetch_xor (value_type arg, EXPLICIT_UNUSED_ATTR::libcopp::util::lock::memory_order order=::libcopp::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 libcopp::util::lock::atomic_int_type< Ty >

Definition at line 345 of file atomic_int_type.h.

Member Typedef Documentation

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

Definition at line 347 of file atomic_int_type.h.

Constructor & Destructor Documentation

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

Definition at line 363 of file atomic_int_type.h.

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

Definition at line 376 of file atomic_int_type.h.

Member Function Documentation

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

Definition at line 693 of file atomic_int_type.h.

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

Definition at line 719 of file atomic_int_type.h.

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

Definition at line 745 of file atomic_int_type.h.

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

Definition at line 588 of file atomic_int_type.h.

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

Definition at line 614 of file atomic_int_type.h.

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

Definition at line 640 of file atomic_int_type.h.

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

Definition at line 522 of file atomic_int_type.h.

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

Definition at line 541 of file atomic_int_type.h.

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

Definition at line 771 of file atomic_int_type.h.

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

Definition at line 784 of file atomic_int_type.h.

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

Definition at line 825 of file atomic_int_type.h.

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

Definition at line 838 of file atomic_int_type.h.

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

Definition at line 852 of file atomic_int_type.h.

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

Definition at line 865 of file atomic_int_type.h.

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

Definition at line 798 of file atomic_int_type.h.

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

Definition at line 811 of file atomic_int_type.h.

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

Definition at line 879 of file atomic_int_type.h.

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

Definition at line 892 of file atomic_int_type.h.

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

Definition at line 422 of file atomic_int_type.h.

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

Definition at line 437 of file atomic_int_type.h.

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

Definition at line 438 of file atomic_int_type.h.

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

Definition at line 449 of file atomic_int_type.h.

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

Definition at line 458 of file atomic_int_type.h.

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

Definition at line 467 of file atomic_int_type.h.

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

Definition at line 476 of file atomic_int_type.h.

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

Definition at line 485 of file atomic_int_type.h.

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

Definition at line 494 of file atomic_int_type.h.

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

Definition at line 503 of file atomic_int_type.h.

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

Definition at line 512 of file atomic_int_type.h.

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

Definition at line 440 of file atomic_int_type.h.

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

Definition at line 444 of file atomic_int_type.h.

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

Definition at line 378 of file atomic_int_type.h.

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

Definition at line 392 of file atomic_int_type.h.

Field Documentation

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

Definition at line 354 of file atomic_int_type.h.


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