Renaming a namespace

Using BRONTO_INLINE() to rename a namespace.

You can use BRONTO_INLINE() to rename a namespace across your entire code base.

The BRONTO_INLINE() attribute can be attached to any using directive to indicate that symbols found via that directive should be qualified with the corresponding namespace. Simply add BRONTO_INLINE() to the end of the using directive.

Everywhere you have namespace old_namespace { ... }, surrounding symbols you want moved to new_namespace, transform the code to

namespace new_namespace {
...
}
namespace old_namespace {
using namespace new_namespace BRONTO_INLINE();
}

Note that if you don't want every symbol to be moved, you can leave some of them in old_namespace. Only the ones placed in namespace new_namespace { ... } will be renamed.

Adding the line using namespace new_namespace BRONTO_INLINE(); ensures that the symbols you have moved to new_namespace are still available through old_namespace. This ensures that your code still compiles, but alerts Bronto that your intent is to migrate to new_namespace.

Sit back while Bronto finds all the symbols in old_namespace and changes them to new_namespace.

After Bronto has finished, remove the using directives, so users don't add new usage that rely on them.

See it in action on Compiler Explorer.