]> git.lyx.org Git - lyx.git/blob - boost/boost/format/internals_fwd.hpp
Boost version 1.30.0
[lyx.git] / boost / boost / format / internals_fwd.hpp
1 // -*- C++ -*-
2 //  Boost general library 'format'   ---------------------------
3 //  See http://www.boost.org for updates, documentation, and revision history.
4
5 //  (C) Samuel Krempp 2001
6 //                  krempp@crans.ens-cachan.fr
7 //  Permission to copy, use, modify, sell and
8 //  distribute this software is granted provided this copyright notice appears
9 //  in all copies. This software is provided "as is" without express or implied
10 //  warranty, and with no claim as to its suitability for any purpose.
11
12 // ideas taken from RĂ¼diger Loos's format class
13 // and Karl Nelson's ofstream (also took its parsing code as basis for printf parsing)
14
15 // ------------------------------------------------------------------------------
16 // internals_fwd.hpp :  forward declarations, for internal headers
17 // ------------------------------------------------------------------------------
18
19 #ifndef BOOST_FORMAT_INTERNAL_FWD_HPP
20 #define BOOST_FORMAT_INTERNAL_FWD_HPP
21
22 #include "boost/format/format_fwd.hpp"
23 #include "boost/config.hpp"
24
25
26 namespace boost {
27 namespace io {
28
29 namespace detail {
30   template<class Ch, class Tr> struct stream_format_state;
31   template<class Ch, class Tr> struct format_item;
32 }
33
34
35 namespace detail {
36
37   // these functions were intended as methods, 
38   // but MSVC have problems with template member functions :
39
40   // defined in format_implementation.hpp :
41      template<class Ch, class Tr, class T> 
42      basic_format<Ch, Tr>&  modify_item_body( basic_format<Ch, Tr>& self, 
43                                           int itemN, const T& manipulator);
44
45      template<class Ch, class Tr, class T> 
46      basic_format<Ch, Tr>&  bind_arg_body( basic_format<Ch, Tr>& self,
47                                            int argN, const T& val);
48
49     template<class Ch, class Tr, class T> 
50     void apply_manip_body( stream_format_state<Ch, Tr>& self,
51                            T manipulator);
52
53   // argument feeding (defined in feed_args.hpp ) :
54      template<class Ch, class Tr, class T> 
55      void distribute(basic_format<Ch,Tr>& self, T x);
56
57      template<class Ch, class Tr, class T> 
58      basic_format<Ch, Tr>& feed(basic_format<Ch,Tr>& self, T x);
59  
60 } // namespace detail
61
62 } // namespace io
63 } // namespace boost
64
65
66 #endif //  BOOST_FORMAT_INTERNAL_FWD_HPP