2890. The definition of 'object state' applies only to class types

Section: 99 [defns.obj.state] Status: C++17 Submitter: Great Britain Opened: 2017-02-03 Last modified: 2017-07-30

Priority: Not Prioritized

View all other issues in [defns.obj.state].

View all issues with C++17 status.

Discussion:

Addresses GB 30

The definition of 'object state' applies only to class types, implying that fundamental types and arrays do not have this property.

Proposed change: Replacing "an object state" with "a value of an object" in 20.3.25 [defns.valid] and dropping the definition of "object state" in 99 [defns.obj.state].

[2017-02-26, Scott Schurr provides wording]

[Kona 2017-03-01]

Accepted as Immediate to resolve NB comment.

Proposed resolution:

This wording is relative to N4640.

  1. Modify 99 [defns.obj.state] as indicated:

    17.3.16 [defns.obj.state]

    object state

    the current value of all non-static class members of an object (9.2) [Note: The state of an object can be obtained by using one or more observer functions. — end note]

  2. Modify 20.3.25 [defns.valid] as indicated:

    17.3.25 [defns.valid]

    valid but unspecified state

    an object statea value of an object that is not specified except that the object's invariants are met and operations on the object behave as specified for its type