1 // 2006-03-20 Paolo Carlini <pcarlini@suse.de>
3 // Copyright (C) 2006 Free Software Foundation, Inc.
5 // This file is part of the GNU ISO C++ Library. This library is free
6 // software; you can redistribute it and/or modify it under the
7 // terms of the GNU General Public License as published by the
8 // Free Software Foundation; either version 2, or (at your option)
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without Pred the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License along
17 // with this library; see the file COPYING. If not, write to the Free
18 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
24 #include <testsuite_hooks.h>
26 // In the occasion of libstdc++/25482
29 bool test __attribute__((unused)) = true;
32 typedef istreambuf_iterator<char> in_iterator_type;
34 const char data1[] = "Drei Phantasien nach Friedrich Holderlin";
35 const string str1(data1);
36 istringstream iss1(str1);
37 in_iterator_type beg1(iss1);
38 in_iterator_type end1, it1;
40 it1 = find(beg1, beg1, 'l');
41 VERIFY( it1 == beg1 );
42 VERIFY( *it1 == 'D' );
44 it1 = find(end1, end1, 'D');
45 VERIFY( it1 == end1 );
47 it1 = find(end1, end1, 'Z');
48 VERIFY( it1 == end1 );
50 it1 = find(beg1, end1, 'P');
51 VERIFY( *it1 == 'P' );
52 it1 = find(beg1, end1, 't');
53 VERIFY( *it1 == 't' );
55 VERIFY( *it1 == 'a' );
57 it1 = find(beg1, end1, 'H');
58 VERIFY( *it1 == 'H' );
59 it1 = find(beg1, end1, 'l');
60 VERIFY( *it1 == 'l' );
62 it1 = find(beg1, end1, 'l');
63 VERIFY( *it1 == 'l' );
65 VERIFY( *it1 == 'i' );
66 it1 = find(beg1, end1, 'Z');
67 VERIFY( it1 == end1 );
69 it1 = find(beg1, end1, 'D');
70 VERIFY( it1 == end1 );
73 it1 = find(beg1, end1, 'D');
74 VERIFY( it1 != end1 );
75 VERIFY( *it1 == 'D' );
77 VERIFY( *it1 == 'r' );