. removed CompatFoo<CompatFoo< typename > > specializations (maybe msvc will be happy)
. fixed a few non-qualified 'size_t' (thanks cwpro8)
. moved free func boost::io::str(boost::basic_format const&) into boost:: (allows koenig lookup, much more convenient)
. changed the IO_NEEDS_USING_DECLARATION list (is this still required on some compiler ?)
and mostly cosmetic details (shortened //------ .. lines longer than 80 and other unnecessary long lines, changed comments, ..)
[SVN r21892]
gcc-2.95 which doesnt define stringbufs)
-> alt_sstream.hpp and alt_sstream_impl.hpp
. added a template framework (CompatTraits<>, CompatAlloc<>, CompatOStream) to
accomodate non-conforming stdlibs lacking while being transparent on conforming
platforms. (it allows supporting gcc-2.95)
-> compat_workarounds.hpp
. replaced basic_format::oss_ by a stringbuf. There was no way to be sure to reset its state fully
between calls to operator% (because of the stream's xalloc())
The right way is creating a new stream each time, but re-allocating a buffer each time has
a big impact
-> now basic_format stores a basic_altstringbuf
. more detailed exception classes (added data members to pass pertinant information)
. new source-header with reference to the new Boost license
[SVN r21856]
macros_default.hpp -> detail/config_macros.hpp
macros_stlport.hpp -> detail/workarounds_stlport.hpp
msvc_disambiguater.hpp -> detail/msvc_disambiguater.hpp
workarounds_gcc-2.95.hpp -> detail/workarounds_gcc-2.95.hpp
added detail/unset_macros.hpp
2. moved outsstream.hpp 's implementation into outsstream_impl.hpp
And fixed the problem with gcc-2.95 failing to init the stream correctly.
[SVN r19986]
(35% speed-up when reusing format objects with gcc-3)
and makes it easier to support gcc-2.95
. workarounds for gcc-2.95'sSGI stdlib ( basic_foo<Ch, Tr> classes declared and
non-defined except a partial specialisation basic_foo<char, Tr>
which is defined by deriving foo (foo being ostream, streambuf, ios, ..)
. small clean-ups
[SVN r19975]
. Borland does not support 'non-const-overloads' correctly (triggers warnings, temporaries being used). So this feature is now disabled for borland.
[SVN r17216]
. added format_config.hpp and BOOST_IO_STD macro to deal with STLport
(which does not accept 'std::' in 'std::basic_stream<..>' )
as suggested by Markus Schöpflin <markus.schoepflin@ginit-technology.com>
[SVN r14162]