Replacing the use of <iomanip> with <boost/detail/iomanip.hpp> across Boost.

On Linux, GNU's libstdc++, which is the default stdlib for icc and clang,
cannot parse the <iomanip> header in version 4.5+ (which thankfully neither
compiler advises the use of yet), as it's original C++98-friendly
implementation has been replaced with a gnu++0x implementation.
<boost/detail/iomanip.hpp> is a portable implementation of <iomanip>, providing
boost::detail::setfill, boost::detail::setbase, boost::detail::setw,
boost::detail::setprecision, boost::detail::setiosflags and
boost::detail::resetiosflags. 



[SVN r68140]
This commit is contained in:
Bryce Adelstein-Lelbach committed 2011-01-14 02:35:58 +00:00
1 parent 547d713ef7
commit 580f4e72f7
3 files changed
+17 -17

No files matched your search

+4 -4
View File
@@ -17,7 +17,7 @@
#include <boost/config.hpp>
#include <boost/version.hpp>
#include <iostream>
#include <iomanip>
#include <boost/detail/iomanip.hpp>
#include <string.h>
#include <limits.h>
#include <stdlib.h>
@@ -44,7 +44,7 @@ void print_macro(const char* name, const char* value)
if(0 != strcmp(name, value+1))
{
for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
std::cout << std::setw(width);
std::cout << boost::detail::setw(width);
cout.setf(istream::left, istream::adjustfield);
std::cout << name;
if(value[1])
@@ -66,7 +66,7 @@ template <class T>
void print_expression(const char* expression, T val)
{
for(unsigned i = 0; i < indent; ++i) std::cout.put(' ');
std::cout << std::setw(width);
std::cout << boost::detail::setw(width);
std::cout.setf(istream::left, istream::adjustfield);
std::cout << expression << "=" << val << std::endl;
}
@@ -85,7 +85,7 @@ void print_byte_order(const char* what, T /* t */ )
const char* p = reinterpret_cast<const char*>(&val);
for(i = 0; i < indent; ++i) std::cout.put(' ');
std::cout << std::setw(width);
std::cout << boost::detail::setw(width);
std::cout.setf(istream::left, istream::adjustfield);
std::cout << what << "=";
for(i = 0; i < sizeof(T); ++i)