libcopp  2.2.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

using value_type = Ty
 

Public Member Functions

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

Private Member Functions

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

Private Attributes

volatile value_type data_
 

Detailed Description

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

Definition at line 345 of file atomic_int_type.h.

Member Typedef Documentation

◆ value_type

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

Definition at line 347 of file atomic_int_type.h.

Constructor & Destructor Documentation

◆ atomic_int_type() [1/3]

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

◆ atomic_int_type() [2/3]

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

Definition at line 358 of file atomic_int_type.h.

◆ atomic_int_type() [3/3]

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

Definition at line 360 of file atomic_int_type.h.

Member Function Documentation

◆ compare_exchange_strong() [1/4]

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

Definition at line 549 of file atomic_int_type.h.

◆ compare_exchange_strong() [2/4]

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

Definition at line 565 of file atomic_int_type.h.

◆ compare_exchange_strong() [3/4]

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

Definition at line 517 of file atomic_int_type.h.

◆ compare_exchange_strong() [4/4]

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

Definition at line 533 of file atomic_int_type.h.

◆ compare_exchange_weak() [1/4]

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

Definition at line 485 of file atomic_int_type.h.

◆ compare_exchange_weak() [2/4]

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

Definition at line 501 of file atomic_int_type.h.

◆ compare_exchange_weak() [3/4]

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

Definition at line 453 of file atomic_int_type.h.

◆ compare_exchange_weak() [4/4]

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

Definition at line 469 of file atomic_int_type.h.

◆ exchange() [1/2]

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

Definition at line 424 of file atomic_int_type.h.

◆ exchange() [2/2]

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

Definition at line 438 of file atomic_int_type.h.

◆ fetch_add() [1/2]

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

Definition at line 581 of file atomic_int_type.h.

◆ fetch_add() [2/2]

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

Definition at line 590 of file atomic_int_type.h.

◆ fetch_and() [1/2]

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

Definition at line 619 of file atomic_int_type.h.

◆ fetch_and() [2/2]

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

Definition at line 628 of file atomic_int_type.h.

◆ fetch_or() [1/2]

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

Definition at line 638 of file atomic_int_type.h.

◆ fetch_or() [2/2]

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

Definition at line 647 of file atomic_int_type.h.

◆ fetch_sub() [1/2]

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

Definition at line 600 of file atomic_int_type.h.

◆ fetch_sub() [2/2]

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

Definition at line 609 of file atomic_int_type.h.

◆ fetch_xor() [1/2]

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

Definition at line 657 of file atomic_int_type.h.

◆ fetch_xor() [2/2]

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

Definition at line 666 of file atomic_int_type.h.

◆ load() [1/2]

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

Definition at line 382 of file atomic_int_type.h.

◆ load() [2/2]

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

Definition at line 392 of file atomic_int_type.h.

◆ operator value_type() [1/2]

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

Definition at line 403 of file atomic_int_type.h.

◆ operator value_type() [2/2]

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

Definition at line 404 of file atomic_int_type.h.

◆ operator++() [1/4]

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

Definition at line 415 of file atomic_int_type.h.

◆ operator++() [2/4]

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

Definition at line 416 of file atomic_int_type.h.

◆ operator++() [3/4]

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

Definition at line 417 of file atomic_int_type.h.

◆ operator++() [4/4]

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

Definition at line 418 of file atomic_int_type.h.

◆ operator--() [1/4]

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

Definition at line 419 of file atomic_int_type.h.

◆ operator--() [2/4]

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

Definition at line 420 of file atomic_int_type.h.

◆ operator--() [3/4]

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

Definition at line 421 of file atomic_int_type.h.

◆ operator--() [4/4]

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

Definition at line 422 of file atomic_int_type.h.

◆ operator=() [1/4]

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

◆ operator=() [2/4]

template<typename Ty = int>
atomic_int_type& util::lock::atomic_int_type< Ty >::operator= ( const atomic_int_type< Ty > &  )
privatedelete

◆ operator=() [3/4]

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

Definition at line 406 of file atomic_int_type.h.

◆ operator=() [4/4]

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

Definition at line 410 of file atomic_int_type.h.

◆ store() [1/2]

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

Definition at line 362 of file atomic_int_type.h.

◆ store() [2/2]

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

Definition at line 372 of file atomic_int_type.h.

Field Documentation

◆ data_

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

Definition at line 350 of file atomic_int_type.h.


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