This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++11 status.
initializer_list
supportSection: 24.2.8 [unord.req] Status: C++11 Submitter: Daniel Krügler Opened: 2009-02-08 Last modified: 2016-01-28
Priority: Not Prioritized
View other active issues in [unord.req].
View all other issues in [unord.req].
View all issues with C++11 status.
Discussion:
Refering to
N2800
all container requirements tables (including those for
associative containers) provide useful member function overloads
accepting std::initializer_list
as argument, the only exception is
Table 87. There seems to be no reason for not providing them, because 24.5 [unord]
is already initializer_list
-aware. For the sake of
library interface consistency and user-expectations corresponding
overloads should be added to the table requirements of unordered
containers as well.
[ Batavia (2009-05): ]
We agree with the proposed resolution.
Move to Tentatively Ready.
Proposed resolution:
In 24.2.8 [unord.req]/9 insert:
...
[q1, q2)
is a valid range ina
,il
designates an object of typeinitializer_list<value_type>
,t
is a value of typeX::value_type
, ...
In 24.2.8 [unord.req], Table 87 insert:
Table 87 - Unordered associative container requirements (in addition to container) Expression Return type Assertion/note
pre-/post-conditionComplexity X(i, j)
X a(i, j)X
... ... X(il)
X
Same as X(il.begin(), il.end())
.Same as X(il.begin(), il.end())
.... ... ... ... a = b
X
... ... a = il
X&
a = X(il); return *this;
Same as a = X(il)
.... ... ... ... a.insert(i, j)
void
... ... a.insert(il)
void
Same as a.insert(il.begin(), il.end())
.Same as a.insert(il.begin(), il.end())
.