From e3049b14803e1008d9306308217e7da9a88d4129 Mon Sep 17 00:00:00 2001 From: Bryce Adelstein-Lelbach Date: Sat, 15 Jan 2011 02:23:46 +0000 Subject: [PATCH] Make include and put the functions in the boost::detail namespace if not on clang- or intel-linux. [SVN r68165] --- include/boost/detail/iomanip.hpp | 425 ++++++++++++++++--------------- 1 file changed, 223 insertions(+), 202 deletions(-) diff --git a/include/boost/detail/iomanip.hpp b/include/boost/detail/iomanip.hpp index f1132c5..7e84b6d 100644 --- a/include/boost/detail/iomanip.hpp +++ b/include/boost/detail/iomanip.hpp @@ -8,218 +8,239 @@ #ifndef BOOST_DETAIL_IOMANIP_HPP #define BOOST_DETAIL_IOMANIP_HPP -#include -#include -#include +#include -namespace boost { -namespace detail { - -//[resetiosflags -class resetiosflags_manip { - private: - std::ios_base::fmtflags mask; - - public: - explicit resetiosflags_manip (std::ios_base::fmtflags m): - mask(m) { } - - template - friend std::basic_istream& - operator>> (std::basic_istream& is, - resetiosflags_manip const& x) - { - is.unsetf(x.mask); - return is; - } - - template - friend std::basic_ostream& - operator<< (std::basic_ostream& os, - resetiosflags_manip const& x) - { - os.unsetf(x.mask); - return os; - } -}; - -inline resetiosflags_manip resetiosflags (std::ios_base::fmtflags mask) { - return resetiosflags_manip(mask); -} -//] - -//[setiosflags -class setiosflags_manip { - private: - std::ios_base::fmtflags mask; - - public: - explicit setiosflags_manip (std::ios_base::fmtflags m): - mask(m) { } - - template - friend std::basic_istream& - operator>> (std::basic_istream& is, - setiosflags_manip const& x) { - is.setf(x.mask); - return is; - } - - template - friend std::basic_ostream& - operator<< (std::basic_ostream& os, - setiosflags_manip const& x) { - os.setf(x.mask); - return os; - } -}; - -inline setiosflags_manip setiosflags (std::ios_base::fmtflags mask) { - return setiosflags_manip(mask); -} -//] - -//[setbase -class setbase_manip { - private: - int base; - - public: - explicit setbase_manip (int b): - base(b) { } - - template - friend std::basic_istream& - operator>> (std::basic_istream& is, setbase_manip const& x) { - using namespace std; - switch (x.base) { - case 8: - is << std::oct; - return is; - case 10: - is << std::dec; - return is; - case 16: - is << std::hex; - return is; - default: - is.setf(ios_base::fmtflags(0), ios_base::basefield); - return is; +#if (defined(BOOST_CLANG) || defined(BOOST_INTEL_LINUX)) && \ + defined(BOOST_GNU_STDLIB) + #include + #include + #include + + namespace boost { + namespace detail { + + //[resetiosflags + class resetiosflags_manip { + private: + std::ios_base::fmtflags mask; + + public: + explicit resetiosflags_manip (std::ios_base::fmtflags m): + mask(m) { } + + template + friend std::basic_istream& + operator>> (std::basic_istream& is, + resetiosflags_manip const& x) + { + is.unsetf(x.mask); + return is; } - } - - template - friend std::basic_ostream& - operator<< (std::basic_ostream& os, setbase_manip const& x) { - using namespace std; - switch (x.base) { - case 8: - os << std::oct; - return os; - case 10: - os << std::dec; - return os; - case 16: - os << std::hex; - return os; - default: - os.setf(ios_base::fmtflags(0), ios_base::basefield); - return os; + + template + friend std::basic_ostream& + operator<< (std::basic_ostream& os, + resetiosflags_manip const& x) + { + os.unsetf(x.mask); + return os; } + }; + + inline resetiosflags_manip resetiosflags (std::ios_base::fmtflags mask) { + return resetiosflags_manip(mask); } -}; - -inline setbase_manip setbase (int base) { - return setbase_manip(base); -} -//] - -//[setfill -template -class setfill_manip { - private: - CharT fill; - - public: - explicit setfill_manip (CharT c): - fill(c) { } - - template - friend std::basic_ostream& - operator<< (std::basic_ostream& os, setfill_manip const& x) { - os.fill(x.fill); - return os; + //] + + //[setiosflags + class setiosflags_manip { + private: + std::ios_base::fmtflags mask; + + public: + explicit setiosflags_manip (std::ios_base::fmtflags m): + mask(m) { } + + template + friend std::basic_istream& + operator>> (std::basic_istream& is, + setiosflags_manip const& x) { + is.setf(x.mask); + return is; + } + + template + friend std::basic_ostream& + operator<< (std::basic_ostream& os, + setiosflags_manip const& x) { + os.setf(x.mask); + return os; + } + }; + + inline setiosflags_manip setiosflags (std::ios_base::fmtflags mask) { + return setiosflags_manip(mask); } -}; - -template -inline setfill_manip setfill (CharT c) { - return setfill_manip(c); -} -//] - -//[setprecision -class setprecision_manip { - private: - int n; - - public: - explicit setprecision_manip (int n_): - n(n_) { } - - template - friend std::basic_istream& - operator>> (std::basic_istream& is, - setprecision_manip const& x) { - is.precision(x.n); - return is; + //] + + //[setbase + class setbase_manip { + private: + int base; + + public: + explicit setbase_manip (int b): + base(b) { } + + template + friend std::basic_istream& + operator>> (std::basic_istream& is, setbase_manip const& x) { + using namespace std; + switch (x.base) { + case 8: + is << std::oct; + return is; + case 10: + is << std::dec; + return is; + case 16: + is << std::hex; + return is; + default: + is.setf(ios_base::fmtflags(0), ios_base::basefield); + return is; + } + } + + template + friend std::basic_ostream& + operator<< (std::basic_ostream& os, setbase_manip const& x) { + using namespace std; + switch (x.base) { + case 8: + os << std::oct; + return os; + case 10: + os << std::dec; + return os; + case 16: + os << std::hex; + return os; + default: + os.setf(ios_base::fmtflags(0), ios_base::basefield); + return os; + } + } + }; + + inline setbase_manip setbase (int base) { + return setbase_manip(base); } - - template - friend std::basic_ostream& - operator<< (std::basic_ostream& os, - setprecision_manip const& x) { - os.precision(x.n); - return os; + //] + + //[setfill + template + class setfill_manip { + private: + CharT fill; + + public: + explicit setfill_manip (CharT c): + fill(c) { } + + template + friend std::basic_ostream& + operator<< (std::basic_ostream& os, setfill_manip const& x) { + os.fill(x.fill); + return os; + } + }; + + template + inline setfill_manip setfill (CharT c) { + return setfill_manip(c); } -}; - -inline setprecision_manip setprecision (int n_) { - return setprecision_manip(n_); -} -//] - -//[setw -class setw_manip { - private: - int n; - - public: - explicit setw_manip (int n_): - n(n_) { } - - template - friend std::basic_istream& - operator>> (std::basic_istream& is, setw_manip const& x) { - is.width(x.n); - return is; + //] + + //[setprecision + class setprecision_manip { + private: + int n; + + public: + explicit setprecision_manip (int n_): + n(n_) { } + + template + friend std::basic_istream& + operator>> (std::basic_istream& is, + setprecision_manip const& x) { + is.precision(x.n); + return is; + } + + template + friend std::basic_ostream& + operator<< (std::basic_ostream& os, + setprecision_manip const& x) { + os.precision(x.n); + return os; + } + }; + + inline setprecision_manip setprecision (int n_) { + return setprecision_manip(n_); } - - template - friend std::basic_ostream& - operator<< (std::basic_ostream& os, setw_manip const& x) { - os.width(x.n); - return os; + //] + + //[setw + class setw_manip { + private: + int n; + + public: + explicit setw_manip (int n_): + n(n_) { } + + template + friend std::basic_istream& + operator>> (std::basic_istream& is, setw_manip const& x) { + is.width(x.n); + return is; + } + + template + friend std::basic_ostream& + operator<< (std::basic_ostream& os, setw_manip const& x) { + os.width(x.n); + return os; + } + }; + + inline setw_manip setw (int n_) { + return setw_manip(n_); } -}; + //] -inline setw_manip setw (int n_) { - return setw_manip(n_); -} -//] + } // detail + } // boost -} // detail -} // boost +#else + #include + + namespace boost { + namespace detail { + + using ::std::resetiosflags; + using ::std::setiosflags; + using ::std::setbase; + using ::std::setfill; + using ::std::setprecision; + using ::std::setw; + + } // detail + } // boost + +#endif #endif // BOOST_DETAIL_IOMANIP_HPP -