15a83710eSEric Fiselier //===----------------------------------------------------------------------===//
25a83710eSEric Fiselier //
357b08b09SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
457b08b09SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
557b08b09SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
65a83710eSEric Fiselier //
75a83710eSEric Fiselier //===----------------------------------------------------------------------===//
85a83710eSEric Fiselier
95a83710eSEric Fiselier // <set>
105a83710eSEric Fiselier
115a83710eSEric Fiselier // class set
125a83710eSEric Fiselier
135a83710eSEric Fiselier // pair<iterator,iterator> equal_range(const key_type& k);
145a83710eSEric Fiselier // pair<const_iterator,const_iterator> equal_range(const key_type& k) const;
155a83710eSEric Fiselier
165a83710eSEric Fiselier #include <set>
175a83710eSEric Fiselier #include <cassert>
185a83710eSEric Fiselier
190f901c7eSStephan T. Lavavej #include "test_macros.h"
205a83710eSEric Fiselier #include "min_allocator.h"
21cc89063bSNico Weber #include "private_constructor.h"
225a83710eSEric Fiselier
main(int,char **)232df59c50SJF Bastien int main(int, char**)
245a83710eSEric Fiselier {
255a83710eSEric Fiselier {
265a83710eSEric Fiselier typedef int V;
275a83710eSEric Fiselier typedef std::set<int> M;
285a83710eSEric Fiselier {
295a83710eSEric Fiselier typedef std::pair<M::iterator, M::iterator> R;
305a83710eSEric Fiselier V ar[] =
315a83710eSEric Fiselier {
325a83710eSEric Fiselier 5,
335a83710eSEric Fiselier 7,
345a83710eSEric Fiselier 9,
355a83710eSEric Fiselier 11,
365a83710eSEric Fiselier 13,
375a83710eSEric Fiselier 15,
385a83710eSEric Fiselier 17,
395a83710eSEric Fiselier 19
405a83710eSEric Fiselier };
415a83710eSEric Fiselier M m(ar, ar+sizeof(ar)/sizeof(ar[0]));
425a83710eSEric Fiselier R r = m.equal_range(5);
43*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 0));
44*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 1));
455a83710eSEric Fiselier r = m.equal_range(7);
46*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 1));
47*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 2));
485a83710eSEric Fiselier r = m.equal_range(9);
49*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 2));
50*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 3));
515a83710eSEric Fiselier r = m.equal_range(11);
52*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 3));
53*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 4));
545a83710eSEric Fiselier r = m.equal_range(13);
55*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 4));
56*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 5));
575a83710eSEric Fiselier r = m.equal_range(15);
58*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 5));
59*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 6));
605a83710eSEric Fiselier r = m.equal_range(17);
61*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 6));
62*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 7));
635a83710eSEric Fiselier r = m.equal_range(19);
64*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 7));
65*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 8));
665a83710eSEric Fiselier r = m.equal_range(4);
67*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 0));
68*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 0));
695a83710eSEric Fiselier r = m.equal_range(6);
70*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 1));
71*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 1));
725a83710eSEric Fiselier r = m.equal_range(8);
73*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 2));
74*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 2));
755a83710eSEric Fiselier r = m.equal_range(10);
76*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 3));
77*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 3));
785a83710eSEric Fiselier r = m.equal_range(12);
79*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 4));
80*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 4));
815a83710eSEric Fiselier r = m.equal_range(14);
82*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 5));
83*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 5));
845a83710eSEric Fiselier r = m.equal_range(16);
85*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 6));
86*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 6));
875a83710eSEric Fiselier r = m.equal_range(18);
88*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 7));
89*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 7));
905a83710eSEric Fiselier r = m.equal_range(20);
91*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 8));
92*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 8));
935a83710eSEric Fiselier }
945a83710eSEric Fiselier {
955a83710eSEric Fiselier typedef std::pair<M::const_iterator, M::const_iterator> R;
965a83710eSEric Fiselier V ar[] =
975a83710eSEric Fiselier {
985a83710eSEric Fiselier 5,
995a83710eSEric Fiselier 7,
1005a83710eSEric Fiselier 9,
1015a83710eSEric Fiselier 11,
1025a83710eSEric Fiselier 13,
1035a83710eSEric Fiselier 15,
1045a83710eSEric Fiselier 17,
1055a83710eSEric Fiselier 19
1065a83710eSEric Fiselier };
1075a83710eSEric Fiselier const M m(ar, ar+sizeof(ar)/sizeof(ar[0]));
1085a83710eSEric Fiselier R r = m.equal_range(5);
109*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 0));
110*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 1));
1115a83710eSEric Fiselier r = m.equal_range(7);
112*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 1));
113*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 2));
1145a83710eSEric Fiselier r = m.equal_range(9);
115*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 2));
116*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 3));
1175a83710eSEric Fiselier r = m.equal_range(11);
118*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 3));
119*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 4));
1205a83710eSEric Fiselier r = m.equal_range(13);
121*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 4));
122*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 5));
1235a83710eSEric Fiselier r = m.equal_range(15);
124*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 5));
125*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 6));
1265a83710eSEric Fiselier r = m.equal_range(17);
127*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 6));
128*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 7));
1295a83710eSEric Fiselier r = m.equal_range(19);
130*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 7));
131*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 8));
1325a83710eSEric Fiselier r = m.equal_range(4);
133*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 0));
134*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 0));
1355a83710eSEric Fiselier r = m.equal_range(6);
136*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 1));
137*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 1));
1385a83710eSEric Fiselier r = m.equal_range(8);
139*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 2));
140*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 2));
1415a83710eSEric Fiselier r = m.equal_range(10);
142*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 3));
143*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 3));
1445a83710eSEric Fiselier r = m.equal_range(12);
145*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 4));
146*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 4));
1475a83710eSEric Fiselier r = m.equal_range(14);
148*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 5));
149*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 5));
1505a83710eSEric Fiselier r = m.equal_range(16);
151*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 6));
152*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 6));
1535a83710eSEric Fiselier r = m.equal_range(18);
154*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 7));
155*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 7));
1565a83710eSEric Fiselier r = m.equal_range(20);
157*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 8));
158*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 8));
1595a83710eSEric Fiselier }
1605a83710eSEric Fiselier }
161f2f2a639SEric Fiselier #if TEST_STD_VER >= 11
1625a83710eSEric Fiselier {
1635a83710eSEric Fiselier typedef int V;
1645a83710eSEric Fiselier typedef std::set<int, std::less<int>, min_allocator<int>> M;
1655a83710eSEric Fiselier typedef std::pair<M::iterator, M::iterator> R;
1665a83710eSEric Fiselier V ar[] =
1675a83710eSEric Fiselier {
1685a83710eSEric Fiselier 5,
1695a83710eSEric Fiselier 7,
1705a83710eSEric Fiselier 9,
1715a83710eSEric Fiselier 11,
1725a83710eSEric Fiselier 13,
1735a83710eSEric Fiselier 15,
1745a83710eSEric Fiselier 17,
1755a83710eSEric Fiselier 19
1765a83710eSEric Fiselier };
1775a83710eSEric Fiselier M m(ar, ar+sizeof(ar)/sizeof(ar[0]));
1785a83710eSEric Fiselier R r = m.equal_range(5);
179*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 0));
180*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 1));
1815a83710eSEric Fiselier r = m.equal_range(7);
182*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 1));
183*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 2));
1845a83710eSEric Fiselier r = m.equal_range(9);
185*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 2));
186*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 3));
1875a83710eSEric Fiselier r = m.equal_range(11);
188*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 3));
189*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 4));
1905a83710eSEric Fiselier r = m.equal_range(13);
191*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 4));
192*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 5));
1935a83710eSEric Fiselier r = m.equal_range(15);
194*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 5));
195*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 6));
1965a83710eSEric Fiselier r = m.equal_range(17);
197*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 6));
198*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 7));
1995a83710eSEric Fiselier r = m.equal_range(19);
200*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 7));
201*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 8));
2025a83710eSEric Fiselier r = m.equal_range(4);
203*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 0));
204*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 0));
2055a83710eSEric Fiselier r = m.equal_range(6);
206*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 1));
207*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 1));
2085a83710eSEric Fiselier r = m.equal_range(8);
209*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 2));
210*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 2));
2115a83710eSEric Fiselier r = m.equal_range(10);
212*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 3));
213*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 3));
2145a83710eSEric Fiselier r = m.equal_range(12);
215*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 4));
216*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 4));
2175a83710eSEric Fiselier r = m.equal_range(14);
218*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 5));
219*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 5));
2205a83710eSEric Fiselier r = m.equal_range(16);
221*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 6));
222*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 6));
2235a83710eSEric Fiselier r = m.equal_range(18);
224*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 7));
225*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 7));
2265a83710eSEric Fiselier r = m.equal_range(20);
227*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 8));
228*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 8));
2295a83710eSEric Fiselier }
2305a83710eSEric Fiselier #endif
2310f901c7eSStephan T. Lavavej #if TEST_STD_VER > 11
2325a83710eSEric Fiselier {
2335a83710eSEric Fiselier typedef int V;
2345a83710eSEric Fiselier typedef std::set<V, std::less<>> M;
2355a83710eSEric Fiselier {
2365a83710eSEric Fiselier typedef std::pair<M::iterator, M::iterator> R;
2375a83710eSEric Fiselier V ar[] =
2385a83710eSEric Fiselier {
2395a83710eSEric Fiselier 5,
2405a83710eSEric Fiselier 7,
2415a83710eSEric Fiselier 9,
2425a83710eSEric Fiselier 11,
2435a83710eSEric Fiselier 13,
2445a83710eSEric Fiselier 15,
2455a83710eSEric Fiselier 17,
2465a83710eSEric Fiselier 19
2475a83710eSEric Fiselier };
2485a83710eSEric Fiselier M m(ar, ar+sizeof(ar)/sizeof(ar[0]));
2495a83710eSEric Fiselier R r = m.equal_range(5);
250*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 0));
251*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 1));
2525a83710eSEric Fiselier r = m.equal_range(7);
253*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 1));
254*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 2));
2555a83710eSEric Fiselier r = m.equal_range(9);
256*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 2));
257*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 3));
2585a83710eSEric Fiselier r = m.equal_range(11);
259*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 3));
260*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 4));
2615a83710eSEric Fiselier r = m.equal_range(13);
262*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 4));
263*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 5));
2645a83710eSEric Fiselier r = m.equal_range(15);
265*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 5));
266*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 6));
2675a83710eSEric Fiselier r = m.equal_range(17);
268*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 6));
269*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 7));
2705a83710eSEric Fiselier r = m.equal_range(19);
271*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 7));
272*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 8));
2735a83710eSEric Fiselier r = m.equal_range(4);
274*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 0));
275*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 0));
2765a83710eSEric Fiselier r = m.equal_range(6);
277*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 1));
278*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 1));
2795a83710eSEric Fiselier r = m.equal_range(8);
280*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 2));
281*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 2));
2825a83710eSEric Fiselier r = m.equal_range(10);
283*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 3));
284*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 3));
2855a83710eSEric Fiselier r = m.equal_range(12);
286*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 4));
287*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 4));
2885a83710eSEric Fiselier r = m.equal_range(14);
289*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 5));
290*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 5));
2915a83710eSEric Fiselier r = m.equal_range(16);
292*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 6));
293*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 6));
2945a83710eSEric Fiselier r = m.equal_range(18);
295*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 7));
296*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 7));
2975a83710eSEric Fiselier r = m.equal_range(20);
298*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 8));
299*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 8));
3005a83710eSEric Fiselier }
3015a83710eSEric Fiselier }
3025a83710eSEric Fiselier {
3035a83710eSEric Fiselier typedef PrivateConstructor V;
3045a83710eSEric Fiselier typedef std::set<V, std::less<>> M;
3055a83710eSEric Fiselier typedef std::pair<M::iterator, M::iterator> R;
3065a83710eSEric Fiselier
3075a83710eSEric Fiselier M m;
3085a83710eSEric Fiselier m.insert ( V::make ( 5 ));
3095a83710eSEric Fiselier m.insert ( V::make ( 7 ));
3105a83710eSEric Fiselier m.insert ( V::make ( 9 ));
3115a83710eSEric Fiselier m.insert ( V::make ( 11 ));
3125a83710eSEric Fiselier m.insert ( V::make ( 13 ));
3135a83710eSEric Fiselier m.insert ( V::make ( 15 ));
3145a83710eSEric Fiselier m.insert ( V::make ( 17 ));
3155a83710eSEric Fiselier m.insert ( V::make ( 19 ));
3165a83710eSEric Fiselier
3175a83710eSEric Fiselier R r = m.equal_range(5);
318*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 0));
319*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 1));
3205a83710eSEric Fiselier r = m.equal_range(7);
321*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 1));
322*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 2));
3235a83710eSEric Fiselier r = m.equal_range(9);
324*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 2));
325*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 3));
3265a83710eSEric Fiselier r = m.equal_range(11);
327*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 3));
328*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 4));
3295a83710eSEric Fiselier r = m.equal_range(13);
330*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 4));
331*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 5));
3325a83710eSEric Fiselier r = m.equal_range(15);
333*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 5));
334*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 6));
3355a83710eSEric Fiselier r = m.equal_range(17);
336*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 6));
337*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 7));
3385a83710eSEric Fiselier r = m.equal_range(19);
339*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 7));
340*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 8));
3415a83710eSEric Fiselier r = m.equal_range(4);
342*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 0));
343*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 0));
3445a83710eSEric Fiselier r = m.equal_range(6);
345*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 1));
346*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 1));
3475a83710eSEric Fiselier r = m.equal_range(8);
348*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 2));
349*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 2));
3505a83710eSEric Fiselier r = m.equal_range(10);
351*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 3));
352*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 3));
3535a83710eSEric Fiselier r = m.equal_range(12);
354*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 4));
355*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 4));
3565a83710eSEric Fiselier r = m.equal_range(14);
357*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 5));
358*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 5));
3595a83710eSEric Fiselier r = m.equal_range(16);
360*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 6));
361*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 6));
3625a83710eSEric Fiselier r = m.equal_range(18);
363*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 7));
364*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 7));
3655a83710eSEric Fiselier r = m.equal_range(20);
366*5ffe11a9SArthur O'Dwyer assert(r.first == std::next(m.begin(), 8));
367*5ffe11a9SArthur O'Dwyer assert(r.second == std::next(m.begin(), 8));
3685a83710eSEric Fiselier }
3695a83710eSEric Fiselier #endif
3702df59c50SJF Bastien
3712df59c50SJF Bastien return 0;
3725a83710eSEric Fiselier }
373