pop_range Addendum: Revisions from Reviewer Feedback
This document supplements, rather than replaces, the original
pop_range design document. It covers three points a reviewer raised
after that document was published, the verification done for each, the
resulting code changes, and the measured before/after behavior. The
original document's design rationale, history section, and prior-art
research are unchanged and still apply; only the three areas below have
moved since that write-up.
0. Context
The original pop_view<A>::operator* returned a copy (value_type), the
supported container shape was fixed to pop() + top()/front() (i.e.
only stack, queue, priority_queue), and size()/sized_range was
deliberately left unimplemented. A reviewer pointed out that all three of
these were more conservative than necessary. Each point below was checked
independently — against the actual wording of the relevant concepts, and
against a compiled, sanitizer-clean test — before being adopted.
