internals_fwd.hpp 2.0 KB

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