2002-11-21 Phil Edwards <pme@gcc.gnu.org>
[official-gcc.git] / libstdc++-v3 / testsuite / 24_iterators / ostream_iterator.cc
blob53fee23e1a1fee2fa99b73f03d62d8948f58dc3d
1 // 2001-06-25 Benjamin Kosnik <bkoz@redhat.com>
3 // Copyright (C) 2001 Free Software Foundation, Inc.
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.
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.
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, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
19 // USA.
21 // 24.5.4 Template class ostream_iterator
23 #include <iterator>
24 #include <ostream>
25 #include <sstream>
27 void test01()
29 using namespace std;
31 // Check for required base class.
32 typedef ostream_iterator<long> test_iterator;
33 typedef iterator<output_iterator_tag, void, void, void, void> base_iterator;
34 ostringstream osstream("this tag");
35 test_iterator r_it(osstream);
36 base_iterator* base = &r_it;
38 // Check for required typedefs
39 typedef test_iterator::value_type value_type;
40 typedef test_iterator::difference_type difference_type;
41 typedef test_iterator::pointer pointer;
42 typedef test_iterator::reference reference;
43 typedef test_iterator::iterator_category iteratory_category;
45 typedef test_iterator::char_type char_type;
46 typedef test_iterator::traits_type traits_type;
47 typedef test_iterator::ostream_type ostream_type;
50 // Instantiate
51 template class std::ostream_iterator<char>;
53 int main()
55 test01();
56 return 0;