]>
Commit | Line | Data |
---|---|---|
92f5a8d4 TL |
1 | /* |
2 | Copyright 2018 Glen Joseph Fernandes | |
3 | (glenjofe@gmail.com) | |
4 | ||
5 | Distributed under the Boost Software License, | |
6 | Version 1.0. (See accompanying file LICENSE_1_0.txt | |
7 | or 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 | ||
16 | namespace boost { | |
17 | ||
18 | template<class T> | |
19 | struct is_bounded_array | |
20 | : false_type { }; | |
21 | ||
22 | #if !defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS) | |
23 | template<class T, std::size_t N> | |
24 | struct is_bounded_array<T[N]> | |
25 | : true_type { }; | |
26 | ||
27 | template<class T, std::size_t N> | |
28 | struct is_bounded_array<const T[N]> | |
29 | : true_type { }; | |
30 | ||
31 | template<class T, std::size_t N> | |
32 | struct is_bounded_array<volatile T[N]> | |
33 | : true_type { }; | |
34 | ||
35 | template<class T, std::size_t N> | |
36 | struct is_bounded_array<const volatile T[N]> | |
37 | : true_type { }; | |
38 | #endif | |
39 | ||
40 | } /* boost */ | |
41 | ||
42 | #endif |