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