Skip to content

Commit c92cb1c

Browse files
Dawn Perchikjwakely
authored andcommitted
LWG2911 An is_aggregate type trait is needed
Also fixes NB US-143 (C++17 CD).
1 parent 49caa2b commit c92cb1c

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

source/utilities.tex

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15221,6 +15221,7 @@
1522115221
template <class T> struct is_polymorphic;
1522215222
template <class T> struct is_abstract;
1522315223
template <class T> struct is_final;
15224+
template <class T> struct is_aggregate;
1522415225

1522515226
template <class T> struct is_signed;
1522615227
template <class T> struct is_unsigned;
@@ -15450,6 +15451,8 @@
1545015451
= is_abstract<T>::value;
1545115452
template <class T> constexpr bool is_final_v
1545215453
= is_final<T>::value;
15454+
template <class T> inline constexpr bool is_aggregate_v
15455+
= is_aggregate<T>::value;
1545315456
template <class T> constexpr bool is_signed_v
1545415457
= is_signed<T>::value;
1545515458
template <class T> constexpr bool is_unsigned_v
@@ -15827,6 +15830,12 @@
1582715830
can be marked with \tcode{final}. \end{note} &
1582815831
If \tcode{T} is a class type, \tcode{T} shall be a complete type. \\ \rowsep
1582915832

15833+
\indexlibrary{\idxcode{is_aggregate_signed}!class}%
15834+
\tcode{template <class T>}\br
15835+
\tcode{struct is_aggregate;} &
15836+
\tcode{T} is an aggregate type~(\ref{dcl.init.aggr}) &
15837+
\tcode{remove_all_extents_t<T>} shall be a complete type or \cv~\tcode{void}. \\ \rowsep
15838+
1583015839
\indexlibrary{\idxcode{is_signed}!class}%
1583115840
\tcode{template <class T>}\br
1583215841
\tcode{struct is_signed;} &

0 commit comments

Comments
 (0)