2003-06-27 13:41:42 +00:00
|
|
|
|
// -*- 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 {
|
2003-09-11 10:23:55 +00:00
|
|
|
|
struct stream_format_state;
|
|
|
|
|
struct format_item;
|
2003-06-27 13:41:42 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace detail {
|
|
|
|
|
|
|
|
|
|
// these functions were intended as methods,
|
|
|
|
|
// but MSVC have problems with template member functions :
|
|
|
|
|
|
|
|
|
|
// defined in format_implementation.hpp :
|
2003-09-11 10:23:55 +00:00
|
|
|
|
template<class T>
|
|
|
|
|
basic_format& modify_item_body( basic_format& self,
|
2003-06-27 13:41:42 +00:00
|
|
|
|
int itemN, const T& manipulator);
|
|
|
|
|
|
2003-09-11 10:23:55 +00:00
|
|
|
|
template<class T>
|
|
|
|
|
basic_format& bind_arg_body( basic_format& self,
|
2003-06-27 13:41:42 +00:00
|
|
|
|
int argN, const T& val);
|
|
|
|
|
|
2003-09-11 10:23:55 +00:00
|
|
|
|
template<class T>
|
|
|
|
|
void apply_manip_body( stream_format_state& self,
|
2003-06-27 13:41:42 +00:00
|
|
|
|
T manipulator);
|
|
|
|
|
|
|
|
|
|
// argument feeding (defined in feed_args.hpp ) :
|
2003-09-11 10:23:55 +00:00
|
|
|
|
template<class T>
|
|
|
|
|
void distribute(basic_format& self, T x);
|
2003-06-27 13:41:42 +00:00
|
|
|
|
|
2003-09-11 10:23:55 +00:00
|
|
|
|
template<class T>
|
|
|
|
|
basic_format& feed(basic_format& self, T x);
|
2003-06-27 13:41:42 +00:00
|
|
|
|
|
|
|
|
|
} // namespace detail
|
|
|
|
|
|
|
|
|
|
} // namespace io
|
|
|
|
|
} // namespace boost
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif // BOOST_FORMAT_INTERNAL_FWD_HPP
|