[container.reqmts] Fix cross-references to contiguous container #6192
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This edit deserves describing in detail, to establish that it is purely editorial.
As part of the mission to clean up tables in the standard, the general container requirements were split into 5 more focused leaf nodes. Due to its location in the original text, the definition for a contiguous container fell into the subclause for reversible containers, to which it is entirely unrelated. There is no requirement that a contiguous container be reversible, only that it has the correct category for its iterators.
Meanwhile, all 3 of the existing cross-references point to the wrong leaf node, that simply provides a key to the identifiers used throughout the specification of this clause.
The fix has two parts. First move the definition of contiguous container, and a container with special iterators, into the [container.reqmts] clause where it best belongs. This move is appended to the end so that there can be no ambiguity that any existing text could be confused with requirements only on contiguous
containers after the edit. The other part is to fix up the three cross-references to point to [container.reqmts] rather than its sibling that has no information on contiguous containers.
A grep of the .tex source files confirms that these three references (array,basic_string, and vector) are the only current uses of contiguous container, even though basic_stacktrace would also meet the requirements.