ttp://codepad.org/OIrlaNZc
(ごちゃごちゃしていてすみません。)
このコードで、

NS_C::get_tripled(const T& arg)
で、
 if(T型を受け取る自前のget_tripledが用意されている){
  〜〜
  }

としていますがこんな分岐をコンパイル時に出来ませんでしょうか。
テンプレートメタプログラミングを使っても、無理でしょうか。
つまり、自前のget_tripled関数が用意されているClassAのときは
NS_C::get_tripled<ClassA>はそちらを呼び出して返すだけのコードが生成され、
自前のget_tripled関数が用意されていないClassBのときは
NS_C::get_tripled<ClassB>は代替実装を用いて返す
ということです。

よろしくお願い申し上げます。