DASH  0.3.0
Type_traits.h
1 #ifndef DASH__ATOMIC__TYPE_TRAITS_INCLUDED
2 #define DASH__ATOMIC__TYPE_TRAITS_INCLUDED
3 
4 namespace dash {
5 
6 // forward decl atomic type for only importing traits without full blown atomic
7 // type support
8 template<typename T>
9 class Atomic;
10 
17 template<typename T>
18 struct is_atomic {
19  static constexpr bool value = false;
20 };
21 template<typename T>
22 struct is_atomic<dash::Atomic<T>> {
23  static constexpr bool value = true;
24 };
25 
31 template<typename T>
32 struct remove_atomic {
33  typedef T type;
34 };
35 template<typename T>
36 struct remove_atomic<dash::Atomic<T>> {
37  typedef T type;
38 };
39 
40 } // namespace dash
41 
42 #endif // DASH__ATOMIC__TYPE_TRAITS_INCLUDED
43 
type traits for dash::Atomic
Definition: Type_traits.h:18
This class is a simple memory pool which holds allocates elements of size ValueType.
Definition: AllOf.h:8
type traits for dash::Atomic
Definition: Type_traits.h:32
Type wrapper to mark any trivial type atomic.