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.