バイナリビットマスク定数テンプレート

cppllの件でちょいと思いついたのでやってみた。
こんなことができる:

std::cout << std::hex
    << bits<001>::value << "\n"
    << bits<010>::value << "\n"
    << bits<011>::value << "\n"
    << bits<100>::value << "\n"
    << bits<101>::value << "\n"
    << bits<110>::value << "\n"
    << bits<111>::value << "\n"
    << bits<0111>::value << "\n"
    << bits<11110111>::value << "\n"
    << bits<011110111>::value << "\n"
    << bits<1011110111>::value << std::endl;

結果:

1
2
3
4
5
6
7
7
f7
f7
2f7
続きを読む