My Project
add_volatile.hpp
Go to the documentation of this file.
1 
28 #ifndef BSL_ADD_VOLATILE_HPP
29 #define BSL_ADD_VOLATILE_HPP
30 
31 namespace bsl
32 {
48  template<typename T>
49  struct add_volatile final
50  {
51  static_assert(sizeof(T) != sizeof(T), "volatile not supported"); // NOLINT
52 
54  using type = T volatile;
55  };
56 
58  template<typename T>
60 
62 
63  template<typename T>
64  struct add_volatile<T volatile> final
65  {
66  static_assert(sizeof(T) != sizeof(T), "volatile not supported"); // NOLINT
67 
69  using type = T volatile;
70  };
71 
73 }
74 
75 #endif
Provides the member typedef type which is the same as T, except that a topmost volatile qualifier is ...
Definition: add_volatile.hpp:49
T volatile type
provides the member typedef "type"
Definition: add_volatile.hpp:54
typename add_volatile< T >::type add_volatile_t
a helper that reduces the verbosity of bsl::add_volatile
Definition: add_volatile.hpp:59