This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of NAD status.

2717. scoped_allocator_adaptor uses forward to do move's job

Section: 19.13.4 [allocator.adaptor.members] Status: NAD Submitter: Billy Robert O'Neal III Opened: 2016-05-24 Last modified: 2017-07-18

Priority: Not Prioritized

View all other issues in [allocator.adaptor.members].

View all issues with NAD status.


scoped_allocator_adaptor is specified to use forward when what it is really doing is moving elements. It should use move.

Previous resolution [SUPERSEDED]:

This wording is relative to N4582.

  1. Edit 19.13.4 [allocator.adaptor.members] p15 as indicated:

    template <class T1, class T2, class U, class V>
      void construct(pair<T1, T2>* p, pair<U, V>&& x);

    Effects: Equivalent to this->construct(p, piecewise_construct, forward_as_tuple(std::forwardmove<U>(x.first)), forward_as_tuple(std::forwardmove<V>(x.second))).

Proposed resolution:

Withdrawn by the submitter, since the prerequisites were incorrect.