diff options
Diffstat (limited to 'boost/type_traits/is_bounded_array.hpp')
-rw-r--r-- | boost/type_traits/is_bounded_array.hpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/boost/type_traits/is_bounded_array.hpp b/boost/type_traits/is_bounded_array.hpp new file mode 100644 index 0000000000..5aeca6f98e --- /dev/null +++ b/boost/type_traits/is_bounded_array.hpp @@ -0,0 +1,42 @@ +/* +Copyright 2018 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, +Version 1.0. (See accompanying file LICENSE_1_0.txt +or copy at http://www.boost.org/LICENSE_1_0.txt) +*/ + +#ifndef BOOST_TT_IS_BOUNDED_ARRAY_HPP_INCLUDED +#define BOOST_TT_IS_BOUNDED_ARRAY_HPP_INCLUDED + +#include <boost/type_traits/integral_constant.hpp> +#include <cstddef> + +namespace boost { + +template<class T> +struct is_bounded_array + : false_type { }; + +#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) +template<class T, std::size_t N> +struct is_bounded_array<T[N]> + : true_type { }; + +template<class T, std::size_t N> +struct is_bounded_array<const T[N]> + : true_type { }; + +template<class T, std::size_t N> +struct is_bounded_array<volatile T[N]> + : true_type { }; + +template<class T, std::size_t N> +struct is_bounded_array<const volatile T[N]> + : true_type { }; +#endif + +} /* boost */ + +#endif |