2008-09-02

型の符号有無判定

http://www.kijineko.co.jp/tech/cpptempls を読んで、「numeric_limitsって便利だなあ」と感心することしきり。さっそく使ってみたい(超ミーハー)のだけど、仕事で使うとなると用意されてないかもしれない。

ということで、似たようなものをテンプレートメタプログラミングでつくれないかなと試行錯誤中。はてさて…

まずは型の符号有無をコンパイル時に判定するテンプレート。
// Xが符号つきの型ならvalue==1
template struct is_signed {
enum { value = 0 > X(-1) };
};

// Xが符号なしの型ならvalue==1
template struct is_unsigned {
enum { value = 0 < X(-1) };
};
こんな調子でいいのかな?

0 件のコメント: