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

Specialization for atomic<void*>, for sake of not allowing arithmetic or operator->. More...

#include <atomic.h>

Inheritance diagram for tbb::atomic< void * >:
Collaboration diagram for tbb::atomic< void * >:

Public Member Functions

 atomic ()=default
 
constexpr atomic (void *arg)
 
voidoperator= (void *rhs)
 
atomic< void * > & operator= (const atomic< void * > &rhs)
 
- Public Member Functions inherited from tbb::internal::atomic_impl< void * >
 atomic_impl ()=default
 
constexpr atomic_impl (value_type value)
 
value_type fetch_and_store (value_type value)
 
value_type fetch_and_store (value_type value)
 
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
 
value_type load () const
 
value_type load () const
 
void store (value_type value)
 
void store (value_type value)
 

Additional Inherited Members

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

Detailed Description

template<>
struct tbb::atomic< void * >

Specialization for atomic<void*>, for sake of not allowing arithmetic or operator->.

Definition at line 499 of file atomic.h.

Constructor & Destructor Documentation

◆ atomic() [1/2]

tbb::atomic< void * >::atomic ( )
default

◆ atomic() [2/2]

constexpr tbb::atomic< void * >::atomic ( void arg)
inline

Definition at line 502 of file atomic.h.

502 : internal::atomic_impl<void*>(arg) {}

Member Function Documentation

◆ operator=() [1/2]

void* tbb::atomic< void * >::operator= ( void rhs)
inline

Definition at line 504 of file atomic.h.

504  {
505  // "this" required here in strict ISO C++ because store_with_release is a dependent name
506  return this->store_with_release(rhs);
507  }
value_type store_with_release(value_type rhs)
Definition: atomic.h:322

◆ operator=() [2/2]

atomic<void*>& tbb::atomic< void * >::operator= ( const atomic< void * > &  rhs)
inline

Definition at line 508 of file atomic.h.

508  {
509  this->store_with_release(rhs); return *this;
510  }
value_type store_with_release(value_type rhs)
Definition: atomic.h:322

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.