Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::atomic< T > Struct Template Reference

Primary template for atomic. More...

#include <atomic.h>

Inheritance diagram for tbb::atomic< T >:
Collaboration diagram for tbb::atomic< T >:

Public Member Functions

 atomic ()=default
 
constexpr atomic (T arg)
 
operator= (T rhs)
 
atomic< T > & operator= (const atomic< T > &rhs)
 
- Public Member Functions inherited from tbb::internal::atomic_impl< T >
 atomic_impl ()=default
 
constexpr atomic_impl (value_type value)
 
template<memory_semantics M>
value_type fetch_and_store (value_type value)
 
value_type fetch_and_store (value_type value)
 
template<memory_semantics M>
value_type compare_and_swap (value_type value, value_type comparand)
 
value_type compare_and_swap (value_type value, value_type comparand)
 
 operator value_type () const volatile
 
template<memory_semantics M>
value_type load () const
 
value_type load () const
 
template<memory_semantics M>
void store (value_type value)
 
void store (value_type value)
 

Additional Inherited Members

- Public Types inherited from tbb::internal::atomic_impl< T >
typedef T value_type
 
- Protected Member Functions inherited from tbb::internal::atomic_impl< T >
value_type store_with_release (value_type rhs)
 
- Protected Attributes inherited from tbb::internal::atomic_impl< T >
aligned_storage< T, sizeof(T)> my_storage
 

Detailed Description

template<typename T>
struct tbb::atomic< T >

Primary template for atomic.

See the Reference for details.

Definition at line 407 of file atomic.h.

Constructor & Destructor Documentation

◆ atomic() [1/2]

template<typename T>
tbb::atomic< T >::atomic ( )
default

◆ atomic() [2/2]

template<typename T>
constexpr tbb::atomic< T >::atomic ( arg)
inline

Definition at line 410 of file atomic.h.

410 : internal::atomic_impl<T>(arg) {}

Member Function Documentation

◆ operator=() [1/2]

template<typename T>
T tbb::atomic< T >::operator= ( rhs)
inline

Definition at line 412 of file atomic.h.

412  {
413  // "this" required here in strict ISO C++ because store_with_release is a dependent name
414  return this->store_with_release(rhs);
415  }
value_type store_with_release(value_type rhs)
Definition: atomic.h:326

◆ operator=() [2/2]

template<typename T>
atomic<T>& tbb::atomic< T >::operator= ( const atomic< T > &  rhs)
inline

Definition at line 416 of file atomic.h.

416 {this->store_with_release(rhs); return *this;}
value_type store_with_release(value_type rhs)
Definition: atomic.h:326

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

Copyright © 2005-2019 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.