22 #ifndef COMMON_TYPE_TRAITS_H 23 #define COMMON_TYPE_TRAITS_H 40 template<
class T>
struct remove_cv<const volatile T> {
63 typedef const volatile T type;
70 typedef volatile T type;
74 using remove_cv_t =
typename remove_cv<T>::type;
76 using remove_const_t =
typename remove_const<T>::type;
78 using remove_volatile_t =
typename remove_volatile<T>::type;
81 using add_cv_t =
typename add_cv<T>::type;
83 using add_const_t =
typename add_const<T>::type;
85 using add_volatile_t =
typename add_volatile<T>::type;
105 using remove_reference_t =
typename remove_reference<T>::type;
107 template<
bool b,
class T,
class F>
111 template<
class T,
class F>
116 template<
bool b,
class T,
class F>
Definition: type_traits.h:31
Definition: type_traits.h:92
Definition: type_traits.h:51
Definition: type_traits.h:108
Definition: type_traits.h:44
Definition: algorithm.h:29
Definition: type_traits.h:66
Definition: type_traits.h:69
Definition: type_traits.h:62