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, EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
void store (value_type desired, EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type load (EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) const UTIL_CONFIG_NOEXCEPT
 
value_type load (EXPLICIT_UNUSED_ATTR::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, EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type exchange (value_type desired, EXPLICIT_UNUSED_ATTR::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, EXPLICIT_UNUSED_ATTR::util::lock::memory_order success, EXPLICIT_UNUSED_ATTR::util::lock::memory_order failure) UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_weak (value_type &expected, value_type desired, EXPLICIT_UNUSED_ATTR::util::lock::memory_order success, EXPLICIT_UNUSED_ATTR::util::lock::memory_order failure) volatile UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_weak (value_type &expected, value_type desired, EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_weak (value_type &expected, value_type desired, EXPLICIT_UNUSED_ATTR::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, EXPLICIT_UNUSED_ATTR::util::lock::memory_order success, EXPLICIT_UNUSED_ATTR::util::lock::memory_order failure) UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_strong (value_type &expected, value_type desired, EXPLICIT_UNUSED_ATTR::util::lock::memory_order success, EXPLICIT_UNUSED_ATTR::util::lock::memory_order failure) volatile UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_strong (value_type &expected, value_type desired, EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
bool compare_exchange_strong (value_type &expected, value_type desired, EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type fetch_add (value_type arg, EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type fetch_add (value_type arg, EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type fetch_sub (value_type arg, EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type fetch_sub (value_type arg, EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type fetch_and (value_type arg, EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type fetch_and (value_type arg, EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type fetch_or (value_type arg, EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type fetch_or (value_type arg, EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) volatile UTIL_CONFIG_NOEXCEPT
 
value_type fetch_xor (value_type arg, EXPLICIT_UNUSED_ATTR::util::lock::memory_order order=::util::lock::memory_order_seq_cst) UTIL_CONFIG_NOEXCEPT
 
value_type fetch_xor (value_type arg, EXPLICIT_UNUSED_ATTR::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 335 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 337 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 353 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 366 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,
EXPLICIT_UNUSED_ATTR::util::lock::memory_order  success,
EXPLICIT_UNUSED_ATTR::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,
EXPLICIT_UNUSED_ATTR::util::lock::memory_order  success,
EXPLICIT_UNUSED_ATTR::util::lock::memory_order  failure 
) volatile
inline

Definition at line 679 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,
EXPLICIT_UNUSED_ATTR::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
)
inline

Definition at line 705 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,
EXPLICIT_UNUSED_ATTR::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
) volatile
inline

Definition at line 731 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,
EXPLICIT_UNUSED_ATTR::util::lock::memory_order  success,
EXPLICIT_UNUSED_ATTR::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,
EXPLICIT_UNUSED_ATTR::util::lock::memory_order  success,
EXPLICIT_UNUSED_ATTR::util::lock::memory_order  failure 
) volatile
inline

Definition at line 575 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,
EXPLICIT_UNUSED_ATTR::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
)
inline

Definition at line 601 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,
EXPLICIT_UNUSED_ATTR::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
) volatile
inline

Definition at line 627 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::exchange ( value_type  desired,
EXPLICIT_UNUSED_ATTR::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,
EXPLICIT_UNUSED_ATTR::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
) volatile
inline

Definition at line 531 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::fetch_add ( value_type  arg,
EXPLICIT_UNUSED_ATTR::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,
EXPLICIT_UNUSED_ATTR::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
) volatile
inline

Definition at line 771 of file atomic_int_type.h.

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

Definition at line 814 of file atomic_int_type.h.

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

Definition at line 827 of file atomic_int_type.h.

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

Definition at line 842 of file atomic_int_type.h.

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

Definition at line 855 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::fetch_sub ( value_type  arg,
EXPLICIT_UNUSED_ATTR::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,
EXPLICIT_UNUSED_ATTR::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
) volatile
inline

Definition at line 799 of file atomic_int_type.h.

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

Definition at line 870 of file atomic_int_type.h.

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

Definition at line 883 of file atomic_int_type.h.

template<typename Ty = int>
value_type util::lock::atomic_int_type< Ty >::load ( EXPLICIT_UNUSED_ATTR::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 ( EXPLICIT_UNUSED_ATTR::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst) const volatile
inline

Definition at line 412 of file atomic_int_type.h.

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

Definition at line 427 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 428 of file atomic_int_type.h.

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

Definition at line 439 of file atomic_int_type.h.

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

Definition at line 448 of file atomic_int_type.h.

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

Definition at line 457 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 466 of file atomic_int_type.h.

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

Definition at line 475 of file atomic_int_type.h.

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

Definition at line 484 of file atomic_int_type.h.

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

Definition at line 493 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 502 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 430 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 434 of file atomic_int_type.h.

template<typename Ty = int>
void util::lock::atomic_int_type< Ty >::store ( value_type  desired,
EXPLICIT_UNUSED_ATTR::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,
EXPLICIT_UNUSED_ATTR::util::lock::memory_order  order = ::util::lock::memory_order_seq_cst 
) volatile
inline

Definition at line 383 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: