is_sameとかあったし


 こーゆーの欲しいんだけどなーと思ってて見付からなかった奴が普通にあった。
 結局、こんなコードで良かった。

template <typename T>
void set ( typename enable_if< is_same< uint32_t, T >, const T& >::type t ) {
  as_uint32 = t;
}

 まあ、色々練習になったから良し。

 あと、unionで型変換を潰すようなのはtype erasureとか言って、boost::anyなんかでも使われてるっぽい。やっぱこれしか無いのか。だりー。Modern C++ Designとか読めば書いてあるのかなあ。まあ、ネットに転がってる情報の拾い読みと試行錯誤で何とかなるかな。だりー。
 関数ポインタとデータポインタの書き分けとかは結局自前だったし。書き分ける意味多分ねーけど。
 つーか、ついこないだまで「SFINAE怖いからやめとこう」とか言ってたの誰(笑)。

(Visited 3 times, 1 visits today)

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください