|
259 | 259 | template<class T> struct is_aggregate; |
260 | 260 | template<class T> struct is_consteval_only; |
261 | 261 |
|
| 262 | + template<class T> struct is_structural; |
262 | 263 | template<class T> struct is_signed; |
263 | 264 | template<class T> struct is_unsigned; |
264 | 265 | template<class T> struct is_bounded_array; |
|
512 | 513 | constexpr bool @\libglobal{is_aggregate_v}@ = is_aggregate<T>::value; |
513 | 514 | template<class T> |
514 | 515 | constexpr bool @\libglobal{is_consteval_only_v}@ = is_consteval_only<T>::value; |
| 516 | + template<class T> |
| 517 | + constexpr bool @\libglobal{is_structural_v}@ = is_structural<T>::value; |
515 | 518 | template<class T> |
516 | 519 | constexpr bool @\libglobal{is_signed_v}@ = is_signed<T>::value; |
517 | 520 | template<class T> |
|
1203 | 1206 | \tcode{T} is consteval-only\iref{basic.types.general} & |
1204 | 1207 | \tcode{remove_all_extents_t<T>} shall be a complete type or \cv~\keyword{void}. \\ \rowsep |
1205 | 1208 |
|
| 1209 | +\indexlibraryglobal{is_structural}% |
| 1210 | +\tcode{template<class T>}\br |
| 1211 | + \tcode{struct is_structural;} & |
| 1212 | + \tcode{T} is a structural type\iref{temp.param} & |
| 1213 | + \tcode{remove_all_extents_t<T>} shall be a complete type or \cv~\keyword{void}. \\ \rowsep |
| 1214 | + |
1206 | 1215 | \indexlibrary{\idxcode{is_signed}!class}% |
1207 | 1216 | \tcode{template<class T>}\br |
1208 | 1217 | \tcode{struct is_signed;} & |
|
3152 | 3161 | consteval bool is_final_type(info type); |
3153 | 3162 | consteval bool is_aggregate_type(info type); |
3154 | 3163 | consteval bool is_consteval_only_type(info type); |
| 3164 | + consteval bool is_structural_type(info type); |
3155 | 3165 | consteval bool is_signed_type(info type); |
3156 | 3166 | consteval bool is_unsigned_type(info type); |
3157 | 3167 | consteval bool is_bounded_array_type(info type); |
|
6802 | 6812 | consteval bool @\libglobal{is_final_type}@(info type); |
6803 | 6813 | consteval bool @\libglobal{is_aggregate_type}@(info type); |
6804 | 6814 | consteval bool @\libglobal{is_consteval_only_type}@(info type); |
| 6815 | +consteval bool @\libglobal{is_structural_type}@(info type); |
6805 | 6816 | consteval bool @\libglobal{is_signed_type}@(info type); |
6806 | 6817 | consteval bool @\libglobal{is_unsigned_type}@(info type); |
6807 | 6818 | consteval bool @\libglobal{is_bounded_array_type}@(info type); |
|
0 commit comments