diff --git a/include/boost/type_traits/cv_traits.hpp b/include/boost/type_traits/cv_traits.hpp index 32faaad..fe62ec2 100644 --- a/include/boost/type_traits/cv_traits.hpp +++ b/include/boost/type_traits/cv_traits.hpp @@ -94,6 +94,8 @@ struct remove_volatile typedef typename detail::remove_volatile_helper::value>::type type; }; template struct remove_volatile{ typedef T& type; }; +template struct remove_volatile{ typedef T type[N]; }; +template struct remove_volatile{ typedef const T type[N]; }; // * convert a type T to non-const type - remove_const template @@ -103,6 +105,8 @@ struct remove_const typedef typename detail::remove_const_helper::value>::type type; }; template struct remove_const{ typedef T& type; }; +template struct remove_const{ typedef T type[N]; }; +template struct remove_const{ typedef volatile T type[N]; }; // convert a type T to a non-cv-qualified type - remove_cv template @@ -111,6 +115,9 @@ struct remove_cv typedef typename detail::cv_traits_imp::unqualified_type type; }; template struct remove_cv{ typedef T& type; }; +template struct remove_cv{ typedef T type[N]; }; +template struct remove_cv{ typedef T type[N]; }; +template struct remove_cv{ typedef T type[N]; }; //* is a type T declared const - is_const template