2 // Boost general library 'format' ---------------------------
3 // See http://www.boost.org for updates, documentation, and revision history.
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.
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)
15 // ------------------------------------------------------------------------------
16 // internals_fwd.hpp : forward declarations, for internal headers
17 // ------------------------------------------------------------------------------
19 #ifndef BOOST_FORMAT_INTERNAL_FWD_HPP
20 #define BOOST_FORMAT_INTERNAL_FWD_HPP
22 #include "boost/format/format_fwd.hpp"
23 #include "boost/config.hpp"
30 template<class Ch, class Tr> struct stream_format_state;
31 template<class Ch, class Tr> struct format_item;
37 // these functions were intended as methods,
38 // but MSVC have problems with template member functions :
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);
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);
49 template<class Ch, class Tr, class T>
50 void apply_manip_body( stream_format_state<Ch, Tr>& self,
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);
57 template<class Ch, class Tr, class T>
58 basic_format<Ch, Tr>& feed(basic_format<Ch,Tr>& self, T x);
66 #endif // BOOST_FORMAT_INTERNAL_FWD_HPP