|
16483 | 16483 |
|
16484 | 16484 | template<class T> struct is_signed;
|
16485 | 16485 | template<class T> struct is_unsigned;
|
| 16486 | + template<class T> struct is_bounded_array; |
| 16487 | + template<class T> struct is_unbounded_array; |
16486 | 16488 |
|
16487 | 16489 | template<class T, class... Args> struct is_constructible;
|
16488 | 16490 | template<class T> struct is_default_constructible;
|
|
16727 | 16729 | inline constexpr bool is_signed_v = is_signed<T>::value;
|
16728 | 16730 | template<class T>
|
16729 | 16731 | inline constexpr bool is_unsigned_v = is_unsigned<T>::value;
|
| 16732 | + template<class T> |
| 16733 | + inline constexpr bool is_bounded_array_v = is_bounded_array<T>::value; |
| 16734 | + template<class T> |
| 16735 | + inline constexpr bool is_unbounded_array_v = is_unbounded_array<T>::value; |
16730 | 16736 | template<class T, class... Args>
|
16731 | 16737 | inline constexpr bool is_constructible_v = is_constructible<T, Args...>::value;
|
16732 | 16738 | template<class T>
|
|
17130 | 17136 | \tcode{T(0) < T(-1)};
|
17131 | 17137 | otherwise, \tcode{false} & \\ \rowsep
|
17132 | 17138 |
|
| 17139 | +\indexlibrary{\idxcode{is_bounded_array}}% |
| 17140 | +\tcode{template<class T>}\br |
| 17141 | + \tcode{struct is_bounded_array;} & |
| 17142 | + \tcode{T} is an array type of known bound\iref{dcl.array} |
| 17143 | + & \\ \rowsep |
| 17144 | + |
| 17145 | +\indexlibrary{\idxcode{is_unbounded_array}}% |
| 17146 | +\tcode{template<class T>}\br |
| 17147 | + \tcode{struct is_unbounded_array;} & |
| 17148 | + \tcode{T} is an array type of unknown bound\iref{dcl.array} |
| 17149 | + & \\ \rowsep |
| 17150 | + |
17133 | 17151 | \indexlibrary{\idxcode{is_constructible}}%
|
17134 | 17152 | \tcode{template<class T, class... Args>}\br
|
17135 | 17153 | \tcode{struct is_constructible;} &
|
|
0 commit comments