私は持っています
namespace src {
struct src_bar;
void src_baz();
template<class T> class src_qux;
}
参照したいのは
namespace dst {
struct dst_bar;
void dst_baz();
template<class T> class dst_qux;
}
から名前を「名前を変更」または「エイリアス」または「ラベルを変更」したいという意味ですsrc。
dst_barもちろん使用できnamespace dst { typedef src_bar dst_bar; }ます。src::src_baz名前をasdst::dst_bazおよびsrc::src_quxasに変更できる(マクロ以外の)同等のものはありdst::dst_quxますか?
私が間違っていない限り、usingステートメントも名前空間エイリアスも他の2つを達成することはできません。テンプレート化された転送関数を作成することdst_baz()は可能ですが、のアリティに関する知識が必要ですsrc_baz。テンプレートtypedefは可能性がありdst_qux<T>::typeますsrc_qux<T>が、間接参照により冗長性が追加されます。
FWIW、私のユースケースは、他の人々が簡潔にするために使用できるようsomepackage_someportion_somefuncAに、名前空間に適したバージョンのようなC名を使用して提供しています。somepackage::someportion::somefuncAusing somepackage::someportion