diff options
Diffstat (limited to 'extras/vom/vom/enum_base.hpp')
-rw-r--r-- | extras/vom/vom/enum_base.hpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/extras/vom/vom/enum_base.hpp b/extras/vom/vom/enum_base.hpp index 6756e2498de..015410a57c5 100644 --- a/extras/vom/vom/enum_base.hpp +++ b/extras/vom/vom/enum_base.hpp @@ -52,6 +52,27 @@ public: } /** + * bitwise or assignemnt + */ + enum_base& operator|=(const enum_base& e) + { + m_value += e.m_value; + m_desc += ":" + e.m_desc; + + return *this; + } + + /** + * bitwise or + */ + enum_base operator|(const enum_base& e1) const + { + enum_base e = *this; + e |= e1; + return e; + } + + /** * Comparison operator */ bool operator!=(const enum_base& e) const { return (e.m_value != m_value); } |