Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | List of all members
dart::AcqRelAtomic< T > Class Template Reference

#include <atomic.h>

Public Member Functions

constexpr AcqRelAtomic ()
 
constexpr AcqRelAtomic (T arg)
 
 AcqRelAtomic (const AcqRelAtomic &arg)=delete
 
T load (std::memory_order order=std::memory_order_acquire) const
 
void store (T arg, std::memory_order order=std::memory_order_release)
 
T fetch_add (T arg, std::memory_order order=std::memory_order_acq_rel)
 
T fetch_sub (T arg, std::memory_order order=std::memory_order_acq_rel)
 
T fetch_or (T arg, std::memory_order order=std::memory_order_acq_rel)
 
T fetch_and (T arg, std::memory_order order=std::memory_order_acq_rel)
 
bool compare_exchange_weak (T &expected, T desired, std::memory_order success_order=std::memory_order_acq_rel, std::memory_order failure_order=std::memory_order_acquire)
 
bool compare_exchange_strong (T &expected, T desired, std::memory_order success_order=std::memory_order_acq_rel, std::memory_order failure_order=std::memory_order_acquire)
 
 operator T () const =delete
 
T operator= (T arg)=delete
 
T operator= (const AcqRelAtomic &arg)=delete
 
T operator+= (T arg)=delete
 
T operator-= (T arg)=delete
 

Detailed Description

template<typename T>
class dart::AcqRelAtomic< T >

Definition at line 95 of file atomic.h.

Constructor & Destructor Documentation

◆ AcqRelAtomic() [1/3]

template<typename T >
constexpr dart::AcqRelAtomic< T >::AcqRelAtomic ( )
inlineconstexpr

Definition at line 97 of file atomic.h.

97: value_() {}

◆ AcqRelAtomic() [2/3]

template<typename T >
constexpr dart::AcqRelAtomic< T >::AcqRelAtomic ( T  arg)
inlineconstexpr

Definition at line 98 of file atomic.h.

98: value_(arg) {} // NOLINT

◆ AcqRelAtomic() [3/3]

template<typename T >
dart::AcqRelAtomic< T >::AcqRelAtomic ( const AcqRelAtomic< T > &  arg)
delete

Member Function Documentation

◆ compare_exchange_strong()

template<typename T >
bool dart::AcqRelAtomic< T >::compare_exchange_strong ( T expected,
T  desired,
std::memory_order  success_order = std::memory_order_acq_rel,
std::memory_order  failure_order = std::memory_order_acquire 
)
inline

Definition at line 129 of file atomic.h.

133 {
134 return value_.compare_exchange_strong(expected, desired, success_order,
135 failure_order);
136 }

◆ compare_exchange_weak()

template<typename T >
bool dart::AcqRelAtomic< T >::compare_exchange_weak ( T expected,
T  desired,
std::memory_order  success_order = std::memory_order_acq_rel,
std::memory_order  failure_order = std::memory_order_acquire 
)
inline

Definition at line 121 of file atomic.h.

125 {
126 return value_.compare_exchange_weak(expected, desired, success_order,
127 failure_order);
128 }

◆ fetch_add()

template<typename T >
T dart::AcqRelAtomic< T >::fetch_add ( T  arg,
std::memory_order  order = std::memory_order_acq_rel 
)
inline

Definition at line 108 of file atomic.h.

108 {
109 return value_.fetch_add(arg, order);
110 }

◆ fetch_and()

template<typename T >
T dart::AcqRelAtomic< T >::fetch_and ( T  arg,
std::memory_order  order = std::memory_order_acq_rel 
)
inline

Definition at line 117 of file atomic.h.

117 {
118 return value_.fetch_and(arg, order);
119 }

◆ fetch_or()

template<typename T >
T dart::AcqRelAtomic< T >::fetch_or ( T  arg,
std::memory_order  order = std::memory_order_acq_rel 
)
inline

Definition at line 114 of file atomic.h.

114 {
115 return value_.fetch_or(arg, order);
116 }

◆ fetch_sub()

template<typename T >
T dart::AcqRelAtomic< T >::fetch_sub ( T  arg,
std::memory_order  order = std::memory_order_acq_rel 
)
inline

Definition at line 111 of file atomic.h.

111 {
112 return value_.fetch_sub(arg, order);
113 }

◆ load()

template<typename T >
T dart::AcqRelAtomic< T >::load ( std::memory_order  order = std::memory_order_acquire) const
inline

Definition at line 101 of file atomic.h.

101 {
102 return value_.load(order);
103 }

◆ operator T()

template<typename T >
dart::AcqRelAtomic< T >::operator T ( ) const
delete

◆ operator+=()

template<typename T >
T dart::AcqRelAtomic< T >::operator+= ( T  arg)
delete

◆ operator-=()

template<typename T >
T dart::AcqRelAtomic< T >::operator-= ( T  arg)
delete

◆ operator=() [1/2]

template<typename T >
T dart::AcqRelAtomic< T >::operator= ( const AcqRelAtomic< T > &  arg)
delete

◆ operator=() [2/2]

template<typename T >
T dart::AcqRelAtomic< T >::operator= ( T  arg)
delete

◆ store()

template<typename T >
void dart::AcqRelAtomic< T >::store ( T  arg,
std::memory_order  order = std::memory_order_release 
)
inline

Definition at line 104 of file atomic.h.

104 {
105 value_.store(arg, order);
106 }

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