c++ – How to overload |= operator on scoped enum? – Stack Overflow
UENUM(BlueprintType)
enum class ECubeBaseDirection : uint8
{
n = 0,
s = 0x01,
w = 0x02,
e = 0x04,
ne = n | e,
ns = n | s,
nw = n | w,
es = e | s,
ew = e | w,
sw = s | w,
nes = n | e | s,
nwe = n | e | w,
nsw = n | s | w,
esw = e | s | w,
nswe = n | s | w | e,
};
inline ECubeBaseDirection operator |(ECubeBaseDirection a, ECubeBaseDirection b)
{
return static_cast<ECubeBaseDirection>(static_cast<int>(a) | static_cast<int>(b));
}
inline ECubeBaseDirection operator &(ECubeBaseDirection a, ECubeBaseDirection b)
{
return static_cast<ECubeBaseDirection>(static_cast<int>(a) & static_cast<int>(b));
}
inline ECubeBaseDirection& operator |=(ECubeBaseDirection& a, ECubeBaseDirection b)
{
return a= a |b;
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END
















暂无评论内容