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

#include <atomic_int_type.h>

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

Public Types

typedef unsafe_int_type< Ty >::value_type value_type
 

Public Member Functions

 atomic_int_type ()
 
 atomic_int_type (value_type desired)
 
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
 
bool cas (value_type &expected, value_type desired) UTIL_CONFIG_NOEXCEPT
 

Private Attributes

value_type data_
 

Detailed Description

template<typename Ty>
class util::lock::atomic_int_type< unsafe_int_type< Ty > >

Definition at line 907 of file atomic_int_type.h.

Member Typedef Documentation

template<typename Ty >
typedef unsafe_int_type<Ty>::value_type util::lock::atomic_int_type< unsafe_int_type< Ty > >::value_type

Definition at line 909 of file atomic_int_type.h.

Constructor & Destructor Documentation

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

Definition at line 920 of file atomic_int_type.h.

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

Definition at line 921 of file atomic_int_type.h.

Member Function Documentation

template<typename Ty >
bool util::lock::atomic_int_type< unsafe_int_type< Ty > >::cas ( value_type expected,
value_type  desired 
)
inlineprivate

Definition at line 978 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_, and likely.

template<typename Ty >
bool util::lock::atomic_int_type< unsafe_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

Definition at line 1011 of file atomic_int_type.h.

template<typename Ty >
bool util::lock::atomic_int_type< unsafe_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 1016 of file atomic_int_type.h.

template<typename Ty >
bool util::lock::atomic_int_type< unsafe_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 1022 of file atomic_int_type.h.

template<typename Ty >
bool util::lock::atomic_int_type< unsafe_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 1027 of file atomic_int_type.h.

template<typename Ty >
bool util::lock::atomic_int_type< unsafe_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

Definition at line 989 of file atomic_int_type.h.

template<typename Ty >
bool util::lock::atomic_int_type< unsafe_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 994 of file atomic_int_type.h.

template<typename Ty >
bool util::lock::atomic_int_type< unsafe_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 1000 of file atomic_int_type.h.

template<typename Ty >
bool util::lock::atomic_int_type< unsafe_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 1005 of file atomic_int_type.h.

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

Definition at line 964 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

template<typename Ty >
value_type util::lock::atomic_int_type< unsafe_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 970 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

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

Definition at line 1034 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

template<typename Ty >
value_type util::lock::atomic_int_type< unsafe_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 1040 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

template<typename Ty >
value_type util::lock::atomic_int_type< unsafe_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 1062 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

template<typename Ty >
value_type util::lock::atomic_int_type< unsafe_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 1068 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

template<typename Ty >
value_type util::lock::atomic_int_type< unsafe_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 1076 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

template<typename Ty >
value_type util::lock::atomic_int_type< unsafe_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 1082 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

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

Definition at line 1048 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

template<typename Ty >
value_type util::lock::atomic_int_type< unsafe_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 1054 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

template<typename Ty >
value_type util::lock::atomic_int_type< unsafe_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 1090 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

template<typename Ty >
value_type util::lock::atomic_int_type< unsafe_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 1096 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

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

Definition at line 934 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

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

Definition at line 937 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

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

Definition at line 942 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::load().

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

Definition at line 943 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::load().

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

Definition at line 954 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

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

Definition at line 955 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

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

Definition at line 956 of file atomic_int_type.h.

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

Definition at line 957 of file atomic_int_type.h.

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

Definition at line 958 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

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

Definition at line 959 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::data_.

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

Definition at line 960 of file atomic_int_type.h.

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

Definition at line 961 of file atomic_int_type.h.

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

Definition at line 945 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::store().

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

Definition at line 949 of file atomic_int_type.h.

References util::lock::atomic_int_type< Ty >::store().

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

Definition at line 924 of file atomic_int_type.h.

template<typename Ty >
void util::lock::atomic_int_type< unsafe_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 928 of file atomic_int_type.h.

Field Documentation

template<typename Ty >
value_type util::lock::atomic_int_type< unsafe_int_type< Ty > >::data_
private

Definition at line 912 of file atomic_int_type.h.


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