Die*_*hez 6 c++ gcc namespaces clang
简短:有没有办法在gcc或clang中弃用命名空间?
长:
多年来,我们一直在各种命名空间中积累所有类型的东西.现在我们决定将一些命令放入其中,并将命名空间拆分为正确命名的命名空间; 所以:
namespace util
{
uint32_t codecID( const char * name ) ;
void alignStrings( std::vector< std::string > * strings ) ;
}
Run Code Online (Sandbox Code Playgroud)
应该成为
namespace codec
{
uint32_t codecID( const char * name ) ;
}
namespace fmt
{
void alignStrings( std::vector< std::string > * strings ) ;
}
Run Code Online (Sandbox Code Playgroud)
只是为了增加乐趣,旧命名空间是在几个包含文件中定义的.其中的所有内容都是内联/模板代码; 所以没有与之相关的库.
显而易见的解决方案是将所有定义从旧命名空间复制到新命名空间,并将所有内容标记为旧的命名空间,逐个项目已弃用.
我们不能在不破坏多个项目的情况下重命名命名空间.
现在我想知道是否有更好的方法来做这样的事情,例如将namespace util的使用标记为已弃用.
我们使用gcc 4.7.3作为我们的生产编译器,但是对clang进行构建和测试以尝试捕获gcc细节; 所以在这些编译器上工作的东西会有所帮助.
归档时间: |
|
查看次数: |
494 次 |
最近记录: |