diff options
Diffstat (limited to 'libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/fstream.cc')
-rw-r--r-- | libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/fstream.cc | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/fstream.cc b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/fstream.cc deleted file mode 100644 index d9d2f02dbb9..00000000000 --- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/fstream.cc +++ /dev/null @@ -1,87 +0,0 @@ -// 2000-06-29 bkoz - -// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// 27.6.1.3 unformatted input functions -// NB: ostream has a particular "seeks" category. Adopt this for istreams too. -// @require@ %-*.tst %-*.txt -// @diff@ %-*.tst %-*.txt - -#include <istream> -#include <sstream> -#include <fstream> -#include <testsuite_hooks.h> - -// fstreams -void test04(void) -{ - typedef std::istream::off_type off_type; - - bool test = true; - std::istream::pos_type pos01, pos02, pos03, pos04, pos05, pos06; - std::ios_base::iostate state01, state02; - const char str_lit01[] = "istream_seeks-1.txt"; - const char str_lit02[] = "istream_seeks-2.txt"; - std::ifstream if01(str_lit01, std::ios_base::in | std::ios_base::out); - std::ifstream if02(str_lit01, std::ios_base::in); - std::ifstream if03(str_lit02, std::ios_base::out | std::ios_base::trunc); - VERIFY( if01.good() ); - VERIFY( if02.good() ); - VERIFY( if03.good() ); - - std::istream is01(if01.rdbuf()); - std::istream is02(if02.rdbuf()); - std::istream is03(if03.rdbuf()); - - // pos_type tellg() - // in | out - pos01 = is01.tellg(); - pos02 = is01.tellg(); - VERIFY( pos01 == pos02 ); - - // in - pos03 = is02.tellg(); - pos04 = is02.tellg(); - VERIFY( pos03 == pos04 ); - - // out - pos05 = is03.tellg(); - pos06 = is03.tellg(); - VERIFY( pos05 == pos06 ); - - // cur - // NB: see library issues list 136. It's the v-3 interp that seekg - // only sets the input buffer, or else istreams with buffers that - // have _M_mode == ios_base::out will fail to have consistency - // between seekg and tellg. - state01 = is01.rdstate(); - is01.seekg(10, std::ios_base::cur); - state02 = is01.rdstate(); - pos01 = is01.tellg(); - VERIFY( pos01 == pos02 + off_type(10) ); - VERIFY( state01 == state02 ); - pos02 = is01.tellg(); - VERIFY( pos02 == pos01 ); -} - -int main() -{ - test04(); - return 0; -} |