teppy先人たちが書いたコードからは学びが多いものです。みんな大好きboostのnoncopyableのソースコードを読んでみましょう。boost8行目のコメントが興味深いですね。ADL(思いがけないADLの防止)どういう意味でしょうか。ご存知のとおり、ADLでは予期せぬネームスペースまで検索の対象になることがあり、時として不幸な不具合の温床になっていまうことがあります。それというのも、ADLによって、検索されるネームスペースに実引数の名前空間が暗黙に含まれる為なのですが、このboostのコードではその予防策が講じられているというわけです。noncopyable;とあります。この一行のtypedefにより、本来boost::noncpyable_::noncopyableというアクセスをboost::noncopyableと書くことができるようになります。実際のnoncopyableはnoncopyable_というネームスペースに存在している為、ADLによってboostネームスペース全てが検索候補になってしまうことを防いでいるのです。Firewallという手法です。ADL対策になりませんので気をつけて下さい。ADL対策にはなりません!大事なことなので2回言いました。Firewallという言葉は某コンソールゲーム機のSDKを読んでいて初めて知ったのですが、それ以外の場所で滅多にお目にかからない言葉なので、あまりメジャーな呼び方では無いのでしょう。Firewallと呼ぶようになりました。