1174. Type property predicates

Section: 21.3.5.4 [meta.unary.prop] Status: Resolved Submitter: Jason Merrill Opened: 2009-07-16 Last modified: 2016-01-28

Priority: Not Prioritized

View other active issues in [meta.unary.prop].

View all other issues in [meta.unary.prop].

View all issues with Resolved status.

Discussion:

I've been implementing compiler support for is_standard_layout, and noticed a few nits about 21.3.5.4 [meta.unary.prop]:

  1. There's no trait for "trivially copyable type", which is now the property that lets you do bitwise copying of a type, and therefore seems useful to be able to query. has_trivial_assign && has_trivial_copy_constructor && has_trivial_destructor is similar, but not identical, specifically with respect to const types.
  2. has_trivial_copy_constructor and has_trivial_assign lack the "or an array of such a class type" language that most other traits in that section, including has_nothrow_copy_constructor and has_nothrow_assign, have; this seems like an oversight.

[ See the thread starting with c++std-lib-24420 for further discussion. ]

[ Addressed in N2947. ]

[ 2009-10 Santa Cruz: ]

NAD EditorialResolved. Solved by N2984.

Proposed resolution: