tbb::internal::machine_load_store_relaxed< T, S > Struct Template Reference

`#include <icc_generic.h>`

Collaboration diagram for tbb::internal::machine_load_store_relaxed< T, S >:

## Static Public Member Functions

static T | load (const T &location)
static void | store (T &location, T value)
static T | load (const volatile T &location)
static void | store (volatile T &location, T value)

## Detailed Description

### template<typename T, size_t S>
struct tbb::internal::machine_load_store_relaxed< T, S >

Definition at line 104 of file icc_generic.h.

## Member Function Documentation

## load() [1/2]

template<typename T , size_t S>

static T tbb::internal::machine_load_store_relaxed< T, S >::load | ( | const T & | location | ) |

inline static

Definition at line 105 of file icc_generic.h.

{
return __atomic_load_explicit(&location, memory_order_relaxed);
}

References tbb::internal::memory_order_relaxed.

## load() [2/2]

template<typename T , size_t S>

static T tbb::internal::machine_load_store_relaxed< T, S >::load | ( | const volatile T & | location | ) |

inline static

Definition at line 100 of file msvc_armv7.h.

{
const T value = location;
/*
* An extra memory barrier is required for errata #761319
* Please see http://infocenter.arm.com/help/topic/com.arm.doc.uan0004a
*/
__TBB_acquire_consistency_helper();
return value;
}

References __TBB_acquire_consistency_helper, and value.

## store() [1/2]

template<typename T , size_t S>

static void tbb::internal::machine_load_store_relaxed< T, S >::store | ( | T & | location,
|  | T | value
| ) |  |

inline static

Definition at line 108 of file icc_generic.h.

{
__atomic_store_explicit(&location, icc_intrinsics_port::convert_argument(value), memory_order_relaxed);
}

References tbb::internal::icc_intrinsics_port::convert_argument(), tbb::internal::memory_order_relaxed, and value.

Here is the call graph for this function:

## store() [2/2]

template<typename T , size_t S>

static void tbb::internal::machine_load_store_relaxed< T, S >::store | ( | volatile T & | location,
|  | T | value
| ) |  |

inline static

Definition at line 111 of file msvc_armv7.h.

{
location = value;
}

References value.

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

- icc_generic.h
- msvc_armv7.h

__TBB_acquire_consistency_helper
#define __TBB_acquire_consistency_helper()
Definition: msvc_armv7.h:45
tbb::internal::memory_order_relaxed
Definition: icc_generic.h:75
tbb::internal::icc_intrinsics_port::convert_argument
T convert_argument(T value)
Definition: icc_generic.h:81
value
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long value
Definition: ittnotify_static.h:192

Copyright © 2005-2020 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.