>>711
列挙型を定義するときには要素の数は分かっているのだから要素数を書いた定義も書いておけば十分かもしれない。
#include <type_traits>
// プライマリテンプレート (実際にはこれが使われたらエラー)
template <class T>
class enum_count {
template <class U>
class helper : public std::integral_constant<bool, false> {};
static_assert(helper<T>::value, "expected known enum.");
};
// 列挙型を定義
enum class Foo {A, B, C, D, E};
// 列挙型 Foo の要素数が 5 であることは分かっているので 5 で定義しておく
template <> class enum_count<Foo> : public std::integral_constant<std::size_t, 5> {};
int main(void) {
// 列挙型の要素数をカウントしたかのように見える
static_assert(enum_count<Foo>::value == 5);
}
列挙型の定義と要素数の定義を同時にするようなマクロでも作っておけばなおよいと思う。
Boost にそんな感じのライブラリがあった気がするが使ったことが無いのでよく知らない。
C++相談室 part163
■ このスレッドは過去ログ倉庫に格納されています
720はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 993e-7LVk)
2023/03/19(日) 10:57:57.35ID:6gmOWdI+0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市総理の周辺「小さな火種が火事になりかけている。早く鎮火しないといけない」 ★4 [Hitzeschleier★]
- 高市総理の周辺「小さな火種が火事になりかけている。早く鎮火しないといけない」 ★5 [Hitzeschleier★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る [蚤の市★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★2 [1ゲットロボ★]
- 早大名誉教授が高市早苗首相の発言に言及「台湾も迷惑だと言っている」… [BFU★]
- 【北京中継】「日本国民はとても友好的」日本訪問予定の中国人は冷静な反応…中国側報道「高市首相は辞任すべき」 [煮卵★]
- 【んな専🏡】姫森ルーナ(・o・🍬)総合スレッド🏰【ホロライブ▶】
- 高市人気、虚像(イリュージョン)だった。福島市長選で負け、葛飾区議選で負け、自民関係者も「ノミヤリ解散」にブレーキ [389326466]
- 【実況】博衣こよりのえちえち雀魂1位耐久🧪★2
- 愛国者「台湾有事になったらこれだけの国が台湾側で参戦するぞ!」→6万いいね [834922174]
- 【悲報】よくよく考えたら日本が台湾有事に首を突っ込む理由、何もない [714769305]
- 高市早苗の経済損失、数十兆円〜数百兆円か [931948549]
