Section: 23.2.2 [container.requirements.general] Status: NAD Submitter: Dean Michael Berris Opened: 2012-07-13 Last modified: 2016-01-28
Priority: Not Prioritized
View other active issues in [container.requirements.general].
View all other issues in [container.requirements.general].
View all issues with NAD status.
Discussion:
Table 96 defines the general requirement for copy assignment (row 23, page 704) as:
Expression | Return type | Operational semantics | Assertion/note pre-/post-condition | Complexity |
---|---|---|---|---|
r = a
|
X&
|
|
post: r == a.
|
linear |
However there is no requirement that T
is CopyInsertable
into X
.
[2012, Portland: Move to Tentatively NAD]
Howard notes that this may be a difficult requirement for std::array
We already have this requirement for allocator aware containers, and
std::array
already adds the appropriate extra requirement.
We say the necessary things in the necessary places, but the container requirements continue to cause confusion in where we sometimes say things. Consensus is that this issue remains NAD though.
Proposed resolution:
This wording is relative to N3376.
Change Table 96 — "Container requirements" in 23.2.2 [container.requirements.general]:
Expression | Return type | Operational semantics | Assertion/note pre-/post-condition | Complexity |
---|---|---|---|---|
r = a
|
X&
|
|
Requires: T is CopyInsertable into X .post: r == a.
|
linear |