>>403
enumをビット表現に使う正当性はともかく(そんなの分かりません.),
「Pascalごときに負けられん.」ということで(笑),402を型の恩恵を受けれるようにしてみました.
using namespace std;
enum myenum {e1, e2, e3, myenum_size};
template <typename E, size_t SIZE>
class Bitset: private bitset <SIZE> {
typedef bitset <SIZE> Base_;
public:
Bitset &set (E p) {return static_cast <Bitset &> (Base_::set (p));}
bool test (E p) const {return Base_::test (p);}
};
typedef Bitset <myenum, myenum_size> myenums;
myenums n;
{
n.set (e1);
n.set (e2);
if (n.test (e3)) {...
std::bitsetでコンパイル時にサイズ取れたら,テンプレート引数を1つにできるんですけどね.