>>264
すでに>>266さんが指摘されてますが、名前空間でもその点は問題ありません。
ちなみにEfffective C++の28項に解説してあります。

>>265
なるほど、つまりこうですね。

class Hoge{
public:
  void SetTypeA(void){Set(A);}
  void SetTypeB(void){Set(B);}
  void SetTypeC(void){Set(C);}
protected:
  enum TYPE {A,B,C};
  Set(TYPE type);
private:
  TYPE type_;
};

インラインだから余計なコストもおそらくないし、全部クラス内に収まってるし、
enumの範囲チェックも不要になるしで、どうもこれがベストの手法に思えます。
ありがとうございました。

>>267
ついでの横レスですが、
×テンプレートクラス
○クラステンプレート
だったはずですよ。