
Beman Dawes wrote: ...
* Messages are now sent do BOOST_LIGHTWEIGHT_TEST_OSTREAM
I'm sorry if I missed the explanation for it... what is the use case of this feature?
The motivating use case is the Microsoft Visual Studio IDE, which treats cout and cerr as two separate streams. So you get all the cout output followed by all the cerr output, when what you really want is the equivalent of command line 2>&1
Thanks. I saw that <iostream> is conditionally included only when the macro is left undefined, and I wondered whether it shouldn't be included in either case. It seems to me that it should; the motivating use would then be #ifdef BOOST_MSVC #define BOOST_LIGHTWEIGHT_TEST_OSTREAM std::cout #endif instead of the less intuitive #ifdef BOOST_MSVC #include <iostream> #define BOOST_LIGHTWEIGHT_TEST_OSTREAM std::cout #endif Yes, in principle, the latter is "more correct", but I think that in practice the former is preferable.