Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
use_atomic.h
Go to the documentation of this file.
1 #ifndef CLHEP_USE_ATOMIC_GUARD_H
2 #define CLHEP_USE_ATOMIC_GUARD_H
3 
4 // ======================================================================
5 //
6 // Use std::atomic when the compiler declares it uses the C++11 standard
7 //
8 // ======================================================================
9 
10 #if (defined (G4MULTITHREADED))
11 
12 #if __cplusplus >= 201103L
13 
14  #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 7)
15  #include <atomic>
16  #define CLHEP_USE_ATOMIC
17  #elif __clang__
18  #if __has_feature(c_atomic)
19  #include <atomic>
20  #define CLHEP_USE_ATOMIC
21  #endif
22  #endif
23 
24 #endif
25 
26 #endif
27 
28 #endif