diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2003-06-27T13·41+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2003-06-27T13·41+0000 |
commit | bb03c45ca03e038c8b74fc1410f48d02ade4c59b (patch) | |
tree | 131afdf9d4b308e4d1fff6089f2ab1923c862e02 /boost/format/internals_fwd.hpp | |
parent | d4c3edfaba91a0e5e1e9528749e5b1e178511a6d (diff) |
* Added the Boost format library which provides a safe printf
replacement.
Diffstat (limited to 'boost/format/internals_fwd.hpp')
-rw-r--r-- | boost/format/internals_fwd.hpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/boost/format/internals_fwd.hpp b/boost/format/internals_fwd.hpp new file mode 100644 index 000000000000..f260e6dec9f9 --- /dev/null +++ b/boost/format/internals_fwd.hpp @@ -0,0 +1,65 @@ +// -*- C++ -*- +// Boost general library 'format' --------------------------- +// See http://www.boost.org for updates, documentation, and revision history. + +// (C) Samuel Krempp 2001 +// krempp@crans.ens-cachan.fr +// Permission to copy, use, modify, sell and +// distribute this software is granted provided this copyright notice appears +// in all copies. This software is provided "as is" without express or implied +// warranty, and with no claim as to its suitability for any purpose. + +// ideas taken from Rüdiger Loos's format class +// and Karl Nelson's ofstream (also took its parsing code as basis for printf parsing) + +// ------------------------------------------------------------------------------ +// internals_fwd.hpp : forward declarations, for internal headers +// ------------------------------------------------------------------------------ + +#ifndef BOOST_FORMAT_INTERNAL_FWD_HPP +#define BOOST_FORMAT_INTERNAL_FWD_HPP + +#include "boost/format/format_fwd.hpp" + + +namespace boost { +namespace io { + +namespace detail { + template<class Ch, class Tr> struct stream_format_state; + template<class Ch, class Tr> struct format_item; +} + + +namespace detail { + + // these functions were intended as methods, + // but MSVC have problems with template member functions : + + // defined in format_implementation.hpp : + template<class Ch, class Tr, class T> + basic_format<Ch, Tr>& modify_item_body( basic_format<Ch, Tr>& self, + int itemN, const T& manipulator); + + template<class Ch, class Tr, class T> + basic_format<Ch, Tr>& bind_arg_body( basic_format<Ch, Tr>& self, + int argN, const T& val); + + template<class Ch, class Tr, class T> + void apply_manip_body( stream_format_state<Ch, Tr>& self, + T manipulator); + + // argument feeding (defined in feed_args.hpp ) : + template<class Ch, class Tr, class T> + void distribute(basic_format<Ch,Tr>& self, T x); + + template<class Ch, class Tr, class T> + basic_format<Ch, Tr>& feed(basic_format<Ch,Tr>& self, T x); + +} // namespace detail + +} // namespace io +} // namespace boost + + +#endif // BOOST_FORMAT_INTERNAL_FWD_HPP |