2011-07-06 18 views
6

私は、クラスを定義する際に名前空間エイリアスを使用したいヘッダファイルを持っています。しかし、私はこのエイリアスをヘッダファイルを含むものに公開したくありません。名前空間エイリアススコープの問題

クラス宣言の名前空間をどこに漏らさずに別名にすることができますか?

答えて

12
namespace MyClassSpace 
{ 
namespace qux = boost::std::bar::baz::qux; 

class foo 
{ 
    // use qux:: 
}; 

} 

using MyClassSpace::foo; // lift 'foo' into the enclosing namespace 

これは、別々の名前空間にすべてのものを入れて、boost名前空間に重要な識別子を持ち上げ、ほとんどのBoostライブラリは、それを行う方法もあります。

+0

ニート!投票リセット後に+1が来ます。 –

+0

@Kerrek:どのようにフィットする、私は私のrepcapに達し、リセットを待つ必要がある! :) – Xeo

+0

バスタード、私は必死に次の2時間で私のことをしようとしています;-) –

関連する問題