1 // (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com)
2 // (C) Copyright 2003-2007 Jonathan Turkanis
3 // Distributed under the Boost Software License, Version 1.0. (See accompanying
4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
5 
6 // See http://www.boost.org/libs/iostreams for documentation.
7 
8 // Forward declarations of templates defined in traits.hpp.
9 
10 #ifndef BOOST_IOSTREAMS_IO_TRAITS_FWD_HPP_INCLUDED
11 #define BOOST_IOSTREAMS_IO_TRAITS_FWD_HPP_INCLUDED
12 
13 #if defined(_MSC_VER)
14 # pragma once
15 #endif
16 
17 #include <iosfwd> // stream types, char_traits.
18 
19 namespace boost { namespace iostreams {
20 
21 template<typename T>
22 struct is_istream;
23 
24 template<typename T>
25 struct is_ostream;
26 
27 template<typename T>
28 struct is_iostream;
29 
30 template<typename T>
31 struct is_streambuf;
32 
33 template<typename T>
34 struct is_istringstream;
35 
36 template<typename T>
37 struct is_ostringstream;
38 
39 template<typename T>
40 struct is_stringstream;
41 
42 template<typename T>
43 struct is_stringbuf;
44 
45 template<typename T>
46 struct is_ifstream;
47 
48 template<typename T>
49 struct is_ofstream;
50 
51 template<typename T>
52 struct is_fstream;
53 
54 template<typename T>
55 struct is_filebuf;
56 
57 template<typename T>
58 struct is_std_io;
59 
60 template<typename T>
61 struct is_std_file_device;
62 
63 template<typename T>
64 struct is_std_string_device;
65 
66 template<typename T>
67 struct char_type_of;
68 
69 template<typename T>
70 struct category_of;
71 
72 template<typename T>
73 struct int_type_of;
74 
75 template<typename T>
76 struct mode_of;
77 
78 template<typename T>
79 struct is_device;
80 
81 template<typename T>
82 struct is_filter;
83 
84 template<typename T>
85 struct is_direct;
86 
87 namespace detail {
88 
89 template<typename T>
90 struct is_boost_stream;
91 
92 template<typename T>
93 struct is_boost_stream_buffer;
94 
95 template<typename T>
96 struct is_filtering_stream;
97 
98 template<typename T>
99 struct is_filtering_streambuf;
100 
101 template<typename T>
102 struct is_linked;
103 
104 template<typename T>
105 struct is_boost;
106 
107 } // End namespace detail.
108 
109 } } // End namespaces iostreams, boost.
110 
111 #endif // #ifndef BOOST_IOSTREAMS_IO_TRAITS_FWD_HPP_INCLUDED
112