(We actually use a completely renamed fork of Boost...
Whose idea was this, who set it up, who maintains it, what is different from stock Boost, and what's wrong with using Boost as is (as trillions of other developers already do)?
It's actually not uncommon Vinnie in big megacorps. It's done to avoid the potential for implementation use of Boost symbol colliding with customer use of Boost. Each shop will have some poor sod who has to do the conversion from time to time, and maintain it for internal and sometimes external users. Tony van Eerd was that poor sod during my time at BlackBerry, for example. It'll usually have a bunch of nasty regex doing something like: namespace boost => namespace mycorp_boost_1_30 boost:: => mycorp_boost_1_30:: BOOST_ => MYCORP_BOOST_1_30_ ... They usually rename the boost headers directory too, of course, to mycorp_boost_1_30/*, and all the library blob names. John Maddock maintains a tool which will do some of the renaming for you. But it doesn't rename macros, leaves some stuff in the global namespace due to ADL reasons, and some big megacorp likes to directly use Boost.Config macros to annotate their public functions and/or configure a custom Boost, so they need all the macros renamed too. Anyway, doing all the above is not uncommon. I've seen it a few times in my career now in various clients I've worked for. Usually with some ancient Boost version. And I've seen some big megacorp mix multiple different ancient versions of Boost into a single codebase, too, which is "safe" because nothing can clash. Yay. Niall