summaryrefslogtreecommitdiffstats
path: root/extras/vom/vom/enum_base.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'extras/vom/vom/enum_base.hpp')
-rw-r--r--extras/vom/vom/enum_base.hpp21
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); }