Skip to content

Commit 4eecd1d

Browse files
author
Pavel Kovalenko
committed
Add helper macro that defines enum flag operators.
1 parent e37f743 commit 4eecd1d

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/common/Util.hpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#pragma once
2+
3+
#define IMPLEMENT_ENUM_FLAG_OPERATORS(TEnum, TBaseType) \
4+
inline TEnum operator|(TEnum a, TEnum b) { return (TEnum)((TBaseType)a | (TBaseType)b); } \
5+
inline TEnum operator&(TEnum a, TEnum b) { return (TEnum)((TBaseType)a & (TBaseType)b); } \
6+
inline TEnum& operator|=(TEnum& a, TEnum b) { return a = a | b; } \
7+
inline TEnum& operator&=(TEnum& a, TEnum b) { return a = a & b; }

0 commit comments

Comments
 (0)