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) && (_MSC_VER >= 1020) |
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 | |