Enum boolean operations should be constexpr
Functions like the following one from gdkmm/enums.h
inline ModifierType operator|(ModifierType lhs, ModifierType rhs)
{ return static_cast<ModifierType>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
can be constexpr
but aren't. This prevents you from putting custom modifier masks into constexpr
constants.