18/09/15 19:36:37.14 /OsufeBT0.net
enum class はスコープを限定できる代わりに、個別の型として
ガチガチに保護されるせいで数値として使いにくい欠点はあるね。
namespace PNG_COLOR_MASK {
enum {
GRAY = 0b000,
PALETTE = 0b001,
RGB = 0b010,
ALPHA = 0b100,
};
}
int grayscale = PNG_COLOR_MASK::GRAY;
int rgba = PNG_COLOR_MASK::RGB | PNG_COLOR_MASK::ALPHA;
こんな感じにnamespaceで名前なしのenumを囲むか。
素直にconstexprを使えばいいんだけど、C++11以前でも可というニッチな提案。