]>
git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/testsuite/27_io/filebuf.cc
1 // 1999-01-17 bkoz test functionality of basic_filebuf for char_type == char
3 // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
4 // Free Software Foundation, Inc.
6 // This file is part of the GNU ISO C++ Library. This library is free
7 // software; you can redistribute it and/or modify it under the
8 // terms of the GNU General Public License as published by the
9 // Free Software Foundation; either version 2, or (at your option)
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
17 // You should have received a copy of the GNU General Public License along
18 // with this library; see the file COPYING. If not, write to the Free
19 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
22 // 27.8.1.1 - Template class basic_filebuf
23 // NB: This file is for testing basic_filebuf with NO OTHER INCLUDES.
26 #include <testsuite_hooks.h>
33 // Check for required typedefs
34 typedef std::filebuf test_type
;
35 typedef test_type::char_type char_type
;
36 typedef test_type::traits_type traits_type
;
37 typedef test_type::int_type int_type
;
38 typedef test_type::pos_type pos_type
;
39 typedef test_type::off_type off_type
;
44 // should be able to instantiate basic_filebuf for non-standard types.
49 template class basic_filebuf
<type_t
, char_traits
<type_t
> >;
50 template class basic_filebuf
<gnu_char
, char_traits
<gnu_char
> >;
56 // should be able to use custom char_type
59 unsigned long character
;
63 operator==(const gnu_char_type
& __lhs
)
64 { return character
== __lhs
.character
; }
68 operator<(const gnu_char_type
& __lhs
)
69 { return character
< __lhs
.character
; }
75 gnu_char_type(const unsigned long& __l
) : character(__l
) { }
78 operator unsigned long() const { return character
; }
84 typedef std::basic_filebuf
<gnu_char_type
> gnu_filebuf
;
88 catch(std::exception
& obj
)
96 // Explicitly instantiate for systems with no COMDAT or weak support.
98 std::basic_streambuf
<gnu_char_type
>::int_type
99 std::basic_streambuf
<gnu_char_type
>::_S_pback_size
;