1// 1999-08-11 bkoz 2 3// Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation 4// 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) 9// any later version. 10 11// This library is distributed in the hope that it will be useful, 12// but WITHOUT ANY WARRANTY; without even the implied warranty of 13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14// GNU General Public License for more details. 15 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, 19// USA. 20 21// 27.6.1.3 unformatted input functions 22 23#include <istream> 24#include <sstream> 25#include <testsuite_hooks.h> 26 27// libstdc++/70220 28void 29test10() 30{ 31 using namespace std; 32 bool test __attribute__((unused)) = true; 33 typedef string string_type; 34 typedef stringbuf stringbuf_type; 35 typedef istream istream_type; 36 37 streamsize n; 38 string_type input("abcdefg\n"); 39 stringbuf_type sbuf(input); 40 istream_type istr(&sbuf); 41 42 istr.ignore(0); 43 if (istr.gcount() != 0) 44 test = false; 45 VERIFY( test ); 46 47 istr.ignore(0, 'b'); 48 if (istr.gcount() != 0) 49 test = false; 50 VERIFY( test ); 51 52 istr.ignore(); // Advance to next position. 53 istr.ignore(0, 'b'); 54 if ((n=istr.gcount()) != 0) 55 test = false; 56 VERIFY( test ); 57 58 if (istr.peek() != 'b') 59 test = false; 60 VERIFY( test ); 61} 62 63int 64main() 65{ 66 test10(); 67 return 0; 68} 69