* Change __BORLANDC__ to BOOST_BORLANDC, which is defined in Boost config for the Embarcadero non-clang-based compilers.
* The mnemonic 'byte' is defined elsewhere, so use the full namespace.
* Using bu::information::byte once rather than fully qualified 'bu::information::byte' many times.
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