Title
span element access invalidation
Status
wp
Section
[span.overview]
Submitter
Johel Ernesto Guerrero Peña

Created on 2019-05-04.00:00:00 last changed 12 months ago

Messages

Date: 2023-11-13.14:08:10

Proposed resolution:

This wording is relative to N4950.

  1. Modify [string.view.template.general] as indicated:

    [Drafting note: The proposed wording also removes the extra code block that previously defined the range]

    -2- For a basic_string_view str, any operation that invalidates a pointer in the range [str.data(), str.data() + str.size()) invalidates pointers, iterators, and references to elements of strreturned from str's member functions.

  2. Modify [span.overview] as indicated:

    -4- ElementType is required to be a complete object type that is not an abstract class type.

    -?- For a span s, any operation that invalidates a pointer in the range [s.data(), s.data() + s.size()) invalidates pointers, iterators, and references to elements of s.

Date: 2023-11-11.00:00:00

[ 2023-11-11 Approved at November 2023 meeting in Kona. Status changed: Voting → WP. ]

Date: 2023-06-14.00:00:00

[ 2023-06-14 Varna; Move to Ready ]

Date: 2023-06-15.00:00:00

[ 2023-06-13; Varna ]

The reference to N4910 [string.view.iterators] p2 is located now in N4950 [string.view.template.general] p2 where its says:

For a basic_string_view str, any operation that invalidates a pointer in the range

[str.data(), str.data() + str.size())

invalidates pointers, iterators, and references returned from str's member functions.

The group also suggested to adjust [string.view.template.general] p2 similarly.

Date: 2019-06-12.00:00:00

[ 2019-06-12 Priority set to 2 after reflector discussion ]

This wording is relative to N4910.

  1. Modify [span.overview] as indicated:

    -4- ElementType is required to be a complete object type that is not an abstract class type.

    -?- For a span s, any operation that invalidates a pointer in the range [s.data(), s.data() + s.size()) invalidates pointers, iterators, and references other than *this returned from s's member functions.

Date: 2019-05-04.00:00:00

span doesn't explicitly point out when its accessed elements are invalidated like string_view does in [string.view.iterators] p2.

History
Date User Action Args
2023-11-13 14:08:10adminsetmessages: + msg13835
2023-11-13 14:08:10adminsetstatus: voting -> wp
2023-11-07 21:41:54adminsetstatus: ready -> voting
2023-06-14 07:41:20adminsetmessages: + msg13634
2023-06-14 07:41:20adminsetstatus: new -> ready
2023-06-13 08:29:36adminsetmessages: + msg13623
2019-06-10 05:16:56adminsetmessages: + msg10433
2019-05-11 12:26:57adminsetmessages: + msg10401
2019-05-04 00:00:00admincreate