OLD | NEW |
| (Empty) |
1 // Copyright (C) 2005, 2009 Free Software Foundation, Inc. | |
2 // | |
3 // This file is part of the GNU ISO C++ Library. This library is free | |
4 // software; you can redistribute it and/or modify it under the | |
5 // terms of the GNU General Public License as published by the | |
6 // Free Software Foundation; either version 3, or (at your option) | |
7 // any later version. | |
8 | |
9 // This library is distributed in the hope that it will be useful, | |
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 // GNU General Public License for more details. | |
13 | |
14 // You should have received a copy of the GNU General Public License along | |
15 // with this library; see the file COPYING3. If not see | |
16 // <http://www.gnu.org/licenses/>. | |
17 | |
18 // 25.3.3.3 [lib.equal.range] | |
19 | |
20 #include <algorithm> | |
21 #include <utility> | |
22 #include <testsuite_hooks.h> | |
23 #include <testsuite_iterators.h> | |
24 | |
25 using __gnu_test::test_container; | |
26 using __gnu_test::forward_iterator_wrapper; | |
27 using std::equal_range; | |
28 | |
29 typedef test_container<int, forward_iterator_wrapper> Container; | |
30 int array[] = {0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2}; | |
31 | |
32 void | |
33 test1() | |
34 { | |
35 for(int i = 0; i < 6; ++i) | |
36 for(int j = 6; j < 12; ++j) | |
37 { | |
38 Container con(array + i, array + j); | |
39 VERIFY(equal_range(con.begin(), con.end(), 1).first.ptr == | |
40 array + std::max(i, 4)); | |
41 VERIFY(equal_range(con.begin(), con.end(), 1).second.ptr == | |
42 array + std::min(j, 8)); | |
43 } | |
44 } | |
45 | |
46 void | |
47 test2() | |
48 { | |
49 int array[]={0, 0, 2, 2, 2}; | |
50 Container con(array, array + 5); | |
51 VERIFY(equal_range(con.begin(), con.end(), 1).first.ptr == | |
52 array + 2); | |
53 VERIFY(equal_range(con.begin(), con.end(), 1).second.ptr == | |
54 array + 2); | |
55 } | |
56 | |
57 int | |
58 main() | |
59 { | |
60 test1(); | |
61 test2(); | |
62 } | |
OLD | NEW |