|
16490 | 16490 |
|
16491 | 16491 | template<class T> struct is_signed;
|
16492 | 16492 | template<class T> struct is_unsigned;
|
| 16493 | + template<class T> struct is_bounded_array; |
| 16494 | + template<class T> struct is_unbounded_array; |
16493 | 16495 |
|
16494 | 16496 | template<class T, class... Args> struct is_constructible;
|
16495 | 16497 | template<class T> struct is_default_constructible;
|
|
16734 | 16736 | inline constexpr bool is_signed_v = is_signed<T>::value;
|
16735 | 16737 | template<class T>
|
16736 | 16738 | inline constexpr bool is_unsigned_v = is_unsigned<T>::value;
|
| 16739 | + template<class T> |
| 16740 | + inline constexpr bool is_bounded_array_v = is_bounded_array<T>::value; |
| 16741 | + template<class T> |
| 16742 | + inline constexpr bool is_unbounded_array_v = is_unbounded_array<T>::value; |
16737 | 16743 | template<class T, class... Args>
|
16738 | 16744 | inline constexpr bool is_constructible_v = is_constructible<T, Args...>::value;
|
16739 | 16745 | template<class T>
|
|
17137 | 17143 | \tcode{T(0) < T(-1)};
|
17138 | 17144 | otherwise, \tcode{false} & \\ \rowsep
|
17139 | 17145 |
|
| 17146 | +\indexlibrary{\idxcode{is_bounded_array}}% |
| 17147 | +\tcode{template<class T>}\br |
| 17148 | + \tcode{struct is_bounded_array;} & |
| 17149 | + \tcode{T} is an array type of known bound\iref{dcl.array} |
| 17150 | + & \\ \rowsep |
| 17151 | + |
| 17152 | +\indexlibrary{\idxcode{is_unbounded_array}}% |
| 17153 | +\tcode{template<class T>}\br |
| 17154 | + \tcode{struct is_unbounded_array;} & |
| 17155 | + \tcode{T} is an array type of unknown bound\iref{dcl.array} |
| 17156 | + & \\ \rowsep |
| 17157 | + |
17140 | 17158 | \indexlibrary{\idxcode{is_constructible}}%
|
17141 | 17159 | \tcode{template<class T, class... Args>}\br
|
17142 | 17160 | \tcode{struct is_constructible;} &
|
|
0 commit comments