Ensuring that:
* it still works as before on C++98 and C++03
* C++11 "strict" constexpr is used where possible
- requires replacing { R x; return f(x); } with { return f(R()); }
* C++14 "relaxed" constexpr is used only where otherwise impossible
- assignment operators
- functions who's implementations require more than a single return
statement
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]
potentially breaking changes : rename SI/CGS namespaces to lowercase
remove some non-SI units (mostly obscure)
move base_units into boost/units
move physical_dimensions into boost/units
improved base_units for non-SI
[SVN r45508]