#include <intrin.h>
#include <float.h>
Go to the source code of this file.
 | 
|    | tbb | 
|   | The graph class. 
  | 
|   | 
|    | tbb::internal | 
|   | Identifiers declared inside namespace internal should never be used directly by client code. 
  | 
|   | 
 | 
| #define  | __TBB_WORDSIZE   4 | 
|   | 
| #define  | __TBB_ENDIANNESS   __TBB_ENDIAN_UNSUPPORTED | 
|   | 
| #define  | __TBB_compiler_fence()   __dmb(_ARM_BARRIER_SY) | 
|   | 
| #define  | __TBB_full_memory_fence()   __dmb(_ARM_BARRIER_SY) | 
|   | 
| #define  | __TBB_control_consistency_helper()   __TBB_compiler_fence() | 
|   | 
| #define  | __TBB_acquire_consistency_helper()   __TBB_full_memory_fence() | 
|   | 
| #define  | __TBB_release_consistency_helper()   __TBB_full_memory_fence() | 
|   | 
| #define  | __TBB_MACHINE_DEFINE_ATOMICS_CMPSWP(S,  T,  F) | 
|   | 
| #define  | __TBB_MACHINE_DEFINE_ATOMICS_FETCHADD(S,  T,  F) | 
|   | 
| #define  | __TBB_CPU_CTL_ENV_PRESENT   1 | 
|   | 
| #define  | __TBB_CompareAndSwap4(P,  V,  C)   __TBB_machine_cmpswp4(P,V,C) | 
|   | 
| #define  | __TBB_CompareAndSwap8(P,  V,  C)   __TBB_machine_cmpswp8(P,V,C) | 
|   | 
| #define  | __TBB_Pause(V)   __TBB_machine_pause(V) | 
|   | 
| #define  | __TBB_USE_FETCHSTORE_AS_FULL_FENCED_STORE   1 | 
|   | 
| #define  | __TBB_USE_GENERIC_HALF_FENCED_LOAD_STORE   1 | 
|   | 
| #define  | __TBB_USE_GENERIC_PART_WORD_FETCH_ADD   1 | 
|   | 
| #define  | __TBB_USE_GENERIC_PART_WORD_FETCH_STORE   1 | 
|   | 
| #define  | __TBB_USE_GENERIC_FETCH_STORE   1 | 
|   | 
| #define  | __TBB_USE_GENERIC_DWORD_LOAD_STORE   1 | 
|   | 
| #define  | __TBB_USE_GENERIC_SEQUENTIAL_CONSISTENCY_LOAD_STORE   1 | 
|   | 
| #define  | __TBB_Yield()   __yield() | 
|   | 
| #define  | __TBB_AtomicOR(P,  V)   __TBB_machine_OR(P,V) | 
|   | 
| #define  | __TBB_AtomicAND(P,  V)   __TBB_machine_AND(P,V) | 
|   | 
◆ __TBB_acquire_consistency_helper
◆ __TBB_AtomicAND
◆ __TBB_AtomicOR
◆ __TBB_CompareAndSwap4
◆ __TBB_CompareAndSwap8
◆ __TBB_compiler_fence
      
        
          | #define __TBB_compiler_fence | 
          ( | 
           | ) | 
             __dmb(_ARM_BARRIER_SY) | 
        
      
 
 
◆ __TBB_control_consistency_helper
◆ __TBB_CPU_CTL_ENV_PRESENT
      
        
          | #define __TBB_CPU_CTL_ENV_PRESENT   1 | 
        
      
 
 
◆ __TBB_ENDIANNESS
◆ __TBB_full_memory_fence
      
        
          | #define __TBB_full_memory_fence | 
          ( | 
           | ) | 
             __dmb(_ARM_BARRIER_SY) | 
        
      
 
 
◆ __TBB_MACHINE_DEFINE_ATOMICS_CMPSWP
      
        
          | #define __TBB_MACHINE_DEFINE_ATOMICS_CMPSWP | 
          ( | 
            | 
          S,  | 
        
        
           | 
           | 
            | 
          T,  | 
        
        
           | 
           | 
            | 
          F  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:inline T __TBB_machine_cmpswp##
S( 
volatile void *ptr, T 
value, T comparand ) {                   \
     return _InterlockedCompareExchange##F(reinterpret_cast<volatile T *>(ptr),
value,comparand);  \
}                                                                                                \
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 ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int ITT_FORMAT __itt_group_mark S
 
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
 
Atomic CAS for 32 bit values, if *ptr==comparand, then *ptr=value, returns *ptr 
- Parameters
 - 
  
    | ptr | pointer to value in memory to be swapped with value if *ptr==comparand  | 
    | value | value to assign *ptr to if *ptr==comparand  | 
    | comparand | value to compare with *ptr  | 
  
   
- Returns
 - value originally in memory at ptr, regardless of success 
 
Definition at line 61 of file msvc_armv7.h.
 
 
◆ __TBB_MACHINE_DEFINE_ATOMICS_FETCHADD
      
        
          | #define __TBB_MACHINE_DEFINE_ATOMICS_FETCHADD | 
          ( | 
            | 
          S,  | 
        
        
           | 
           | 
            | 
          T,  | 
        
        
           | 
           | 
            | 
          F  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:inline T __TBB_machine_fetchadd##
S( 
volatile void *ptr, T 
value ) {                              \
     return _InterlockedExchangeAdd##F(reinterpret_cast<volatile T *>(ptr),
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 ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int ITT_FORMAT __itt_group_mark S
 
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 at line 66 of file msvc_armv7.h.
 
 
◆ __TBB_Pause
◆ __TBB_release_consistency_helper
◆ __TBB_USE_FETCHSTORE_AS_FULL_FENCED_STORE
      
        
          | #define __TBB_USE_FETCHSTORE_AS_FULL_FENCED_STORE   1 | 
        
      
 
 
◆ __TBB_USE_GENERIC_DWORD_LOAD_STORE
      
        
          | #define __TBB_USE_GENERIC_DWORD_LOAD_STORE   1 | 
        
      
 
 
◆ __TBB_USE_GENERIC_FETCH_STORE
      
        
          | #define __TBB_USE_GENERIC_FETCH_STORE   1 | 
        
      
 
 
◆ __TBB_USE_GENERIC_HALF_FENCED_LOAD_STORE
      
        
          | #define __TBB_USE_GENERIC_HALF_FENCED_LOAD_STORE   1 | 
        
      
 
 
◆ __TBB_USE_GENERIC_PART_WORD_FETCH_ADD
      
        
          | #define __TBB_USE_GENERIC_PART_WORD_FETCH_ADD   1 | 
        
      
 
 
◆ __TBB_USE_GENERIC_PART_WORD_FETCH_STORE
      
        
          | #define __TBB_USE_GENERIC_PART_WORD_FETCH_STORE   1 | 
        
      
 
 
◆ __TBB_USE_GENERIC_SEQUENTIAL_CONSISTENCY_LOAD_STORE
      
        
          | #define __TBB_USE_GENERIC_SEQUENTIAL_CONSISTENCY_LOAD_STORE   1 | 
        
      
 
 
◆ __TBB_WORDSIZE
◆ __TBB_Yield
      
        
          | #define __TBB_Yield | 
          ( | 
           | ) | 
             __yield() | 
        
      
 
 
◆ __TBB_machine_AND()
template<typename T1 , typename T2 > 
  
  
      
        
          | void __TBB_machine_AND  | 
          ( | 
          T1 *  | 
          operand,  | 
         
        
           | 
           | 
          T2  | 
          addend  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
Definition at line 164 of file msvc_armv7.h.
  165     _InterlockedAnd((
long volatile *)operand, (
long)addend);
  
 
 
◆ __TBB_machine_OR()
template<typename T1 , typename T2 > 
  
  
      
        
          | void __TBB_machine_OR  | 
          ( | 
          T1 *  | 
          operand,  | 
         
        
           | 
           | 
          T2  | 
          addend  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inline   | 
  
 
Definition at line 159 of file msvc_armv7.h.
  160     _InterlockedOr((
long volatile *)operand, (
long)addend);
  
 
 
◆ __TBB_machine_pause()
  
  
      
        
          | void __TBB_machine_pause  | 
          ( | 
          int32_t  | 
          delay | ) | 
           | 
         
       
   | 
  
inline   |