1/*
2Copyright 2018 Glen Joseph Fernandes
3(glenjofe@gmail.com)
4
5Distributed under the Boost Software License,
6Version 1.0. (See accompanying file LICENSE_1_0.txt
7or copy at http://www.boost.org/LICENSE_1_0.txt)
8*/
9
10#ifndef BOOST_TT_IS_BOUNDED_ARRAY_HPP_INCLUDED
11#define BOOST_TT_IS_BOUNDED_ARRAY_HPP_INCLUDED
12
13#include <boost/type_traits/integral_constant.hpp>
14#include <cstddef>
15
16namespace boost {
17
18template<class T>
19struct is_bounded_array
20 : false_type { };
21
22#if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)
23template<class T, std::size_t N>
24struct is_bounded_array<T[N]>
25 : true_type { };
26
27template<class T, std::size_t N>
28struct is_bounded_array<const T[N]>
29 : true_type { };
30
31template<class T, std::size_t N>
32struct is_bounded_array<volatile T[N]>
33 : true_type { };
34
35template<class T, std::size_t N>
36struct is_bounded_array<const volatile T[N]>
37 : true_type { };
38#endif
39
40} /* boost */
41
42#endif
43

source code of include/boost/type_traits/is_bounded_array.hpp