Title
Non-normative Container destructor specification
Status
c++17
Section
[container.requirements.general]
Submitter
Daniel Krügler

Created on 2014-10-18.00:00:00 last changed 90 months ago

Messages

Date: 2015-03-22.18:57:32

Proposed resolution:

This wording is relative to N4140.

  1. Change [container.requirements.general], Table 96 — "Container requirements", as indicated:

    Table 96 — Container requirements
    Expression Return type Operational
    semantics
    Assertion/note
    pre-/post-condition
    Complexity
    (&a)->~X() void note: the destructor
    is applied to every
    element of a; any
    memory obtained is deallocated.
    linear
Date: 2015-03-22.18:57:32

[ 2015-02, Cologne ]

NJ: If we fix this, we should also fix it elsewhere. Oh, this is the only place?
GR: If this is intended to be different from elsewhere, we should make sure.
AM: valarray specifies this without the "note:".
DK: valarray requires trivially destructible types!
GR: That's good enough for me.
NJ: First time valarray has been useful for something!

Date: 2014-10-18.00:00:00

According to Table 96 — "Container requirements" the specification:

note: the destructor is applied to every element of a; any memory obtained is deallocated.

The initial "note:" can be read as if that part of the specification would not be normative (This note form differs from footnotes in tables, which have normative meaning).

It seems that this initial part of the specification exists since C++98. But comparing with the similar SGI Container specification there is no evidence for that being intended to be non-normative.

History
Date User Action Args
2017-07-30 20:15:43adminsetstatus: wp -> c++17
2015-05-22 18:31:21adminsetstatus: ready -> wp
2015-03-22 18:57:32adminsetmessages: + msg7245
2015-03-22 18:57:32adminsetstatus: new -> ready
2014-10-18 16:47:09adminsetmessages: + msg7157
2014-10-18 00:00:00admincreate