1 // ----------------------------------------------------------------------------
2 // internals_fwd.hpp :  forward declarations, for internal headers
3 // ----------------------------------------------------------------------------
4 
5 //  Copyright Samuel Krempp 2003. Use, modification, and distribution are
6 //  subject to the Boost Software License, Version 1.0. (See accompanying
7 //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8 
9 //  See http://www.boost.org/libs/format for library home page
10 
11 // ----------------------------------------------------------------------------
12 
13 #ifndef BOOST_FORMAT_INTERNAL_FWD_HPP
14 #define BOOST_FORMAT_INTERNAL_FWD_HPP
15 
16 #include <boost/format/format_fwd.hpp>
17 #include <boost/config.hpp>
18 
19 
20 namespace boost {
21 namespace io {
22 
23 namespace detail {
24   template<class Ch, class Tr> struct stream_format_state;
25     template<class Ch, class Tr, class Alloc> struct format_item;
26 
27 
28   // these functions were intended as methods,
29   // but MSVC have problems with template member functions :
30   // defined in format_implementation.hpp :
31     template<class Ch, class Tr, class Alloc, class T>
32     basic_format<Ch, Tr, Alloc>&
33     modify_item_body (basic_format<Ch, Tr, Alloc>& self,
34                       int itemN, T manipulator);
35 
36     template<class Ch, class Tr, class Alloc, class T>
37     basic_format<Ch, Tr, Alloc>&
38     bind_arg_body (basic_format<Ch, Tr, Alloc>& self,
39                    int argN, const T& val);
40 
41     // in internals.hpp :
42     template<class Ch, class Tr, class T>
43     void apply_manip_body (stream_format_state<Ch, Tr>& self,
44                            T manipulator);
45 
46     // argument feeding (defined in feed_args.hpp ) :
47     template<class Ch, class Tr, class Alloc, class T>
48     void distribute (basic_format<Ch,Tr, Alloc>& self, T x);
49 
50     template<class Ch, class Tr, class Alloc, class T>
51     basic_format<Ch, Tr, Alloc>&
52     feed (basic_format<Ch,Tr, Alloc>& self, T x);
53 
54     template<class Ch, class Tr, class Alloc, class T>
55     basic_format<Ch, Tr, Alloc>&
56     feed_impl (basic_format<Ch,Tr, Alloc>& self, T x);
57 
58 } // namespace detail
59 
60 } // namespace io
61 } // namespace boost
62 
63 
64 #endif //  BOOST_FORMAT_INTERNAL_FWD_HPP
65