| 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 |