]> git.lyx.org Git - lyx.git/blobdiff - boost/boost/format/format_fwd.hpp
64-bit fix to boost::format.
[lyx.git] / boost / boost / format / format_fwd.hpp
index 00c6caadab1eb3430426fd174270e7d7beb0e62c..a5dbde6b04c9570772d019cea755f2fed8c6814c 100644 (file)
@@ -3,7 +3,6 @@
 //  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
 #define BOOST_FORMAT_FWD_HPP
 
 #include <string>
-#include <ostream>
-#include "boost/config.hpp"
+#include <iosfwd>
+
+#include <boost/format/detail/config_macros.hpp> 
 
 namespace boost {
 
-template<class charT, class Traits = BOOST_IO_STD char_traits<charT> > class basic_format;
+    template <class Ch, 
+#if !( BOOST_WORKAROUND(__GNUC__, <3) &&  defined(__STL_CONFIG_H) )
+        class Tr = BOOST_IO_STD char_traits<Ch> > 
+#else
+    class Tr = std::string_char_traits<Ch> > 
+#endif
+    class basic_format;
+
+    typedef basic_format<char >     format;
 
-typedef basic_format<char >     format;
 
-#if !defined(BOOST_NO_STD_WSTRING) && !defined(BOOST_NO_STD_WSTREAM)
-typedef basic_format<wchar_t >  wformat;
+#if !defined(BOOST_NO_STD_WSTRING)  && !defined(BOOST_NO_STD_WSTREAMBUF) \
+ && !defined(BOOST_NO_STRINGSTREAM) && !defined(BOOST_FORMAT_IGNORE_STRINGSTREAM)
+    //we use either sstream or strstream, and strstream doesnt support wchar
+    typedef basic_format<wchar_t >  wformat;
 #endif
 
+    template<class Ch, class Tr> 
+    std::basic_string<Ch, Tr>     str(const basic_format<Ch, Tr>& ) ;
+
 namespace io {
-enum format_error_bits { bad_format_string_bit = 1, 
-                         too_few_args_bit = 2, too_many_args_bit = 4,
-                         out_of_range_bit = 8,
-                         all_error_bits = 255, no_error_bits=0 };
-                  
-// Convertion:  format   to   string
-template<class Ch, class Tr> 
-std::basic_string<Ch, Tr>     str(const basic_format<Ch, Tr>& ) ;
+    using ::boost::str; // it used to bed define in boost::io, keep compatibility 
 
+    enum format_error_bits { bad_format_string_bit = 1, 
+                             too_few_args_bit = 2, too_many_args_bit = 4,
+                             out_of_range_bit = 8,
+                             all_error_bits = 255, no_error_bits=0 };
+                  
 } // namespace io
 
 
-template< class Ch, class Tr> 
-BOOST_IO_STD basic_ostream<Ch, Tr>& 
-operator<<( BOOST_IO_STD basic_ostream<Ch, Tr>&, const basic_format<Ch, Tr>&);
+    template< class Ch, class Tr> 
+    BOOST_IO_STD basic_ostream<Ch, Tr>& 
+    operator<<( BOOST_IO_STD basic_ostream<Ch, Tr>&, const basic_format<Ch, Tr>&);
 
 
 } // namespace boost