asio-tr2
asio-tr2 copied to clipboard
Replace use of POD Type with correct terminology
In the standard section 1.8, paragraph 5 it states:
" An object of trivially copyable or standard-layout type (3.9) shall occupy contiguous bytes of storage."
which is the requirement we need to satisfy.
In 3.9.2 para 9 we have:
"Arithmetic types (3.9.1), enumeration types, pointer types, pointer to member types (3.9.2),
std::nullptr_t
, and cv-qualified versions of these types (3.9.3) are collectively called scalar types. Scalar types, POD classes (Clause 9), arrays of such types and cv-qualified versions of these types (3.9.3) are collectively called POD types. Cv-unqualified scalar types, trivially copyable class types (Clause 9), arrays of such types, and non-volatile const-qualified versions of these types (3.9.3) are collectively called trivially copyable types. Scalar types, trivial class types (Clause 9), arrays of such types and cv-qualified versions of these types (3.9.3) are collectively called trivial types. Scalar types, standard-layout class types (Clause 9), arrays of such types and cv-qualified versions of these types (3.9.3) are collectively called standard-layout types."
In 20.10.4.3, Table 49 we have is_trivially_copyable<T>
and is_standard_layout<T>
.