This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++17 status.
Section: 23.6 [container.adaptors] Status: C++17 Submitter: Tim Song Opened: 2015-12-08 Last modified: 2017-07-30
Priority: 0
View all other issues in [container.adaptors].
View all issues with C++17 status.
Discussion:
As noted in this
StackOverflow question, 23.6 [container.adaptors] doesn't seem to place any requirement on the first template parameter
(T) of stack, queue, and priority_queue: the only use of T is in the default template
argument (which need not be used) for the second template parameter (Container), while all of the operations of the adaptors
are defined using Container's member typedefs.
queue<double, deque<std::string>> or
priority_queue<std::nothrow_t, vector<int>>, which presumably wasn't intended.
[2016-02, Issues Telecon]
P0; move to Tentatively Ready.
Proposed resolution:
This wording is relative to N4567.
Edit 23.6.1 [container.adaptors.general]/2 as indicated:
-2- The container adaptors each take a
Containertemplate parameter, and each constructor takes aContainerreference argument. This container is copied into theContainermember of each adaptor. If the container takes an allocator, then a compatible allocator may be passed in to the adaptor's constructor. Otherwise, normal copy or move construction is used for the container argument.