From 8fc6f79dc93a3d7064ab0ac49c0565c18fc38132 Mon Sep 17 00:00:00 2001 From: Daniel Larimer Date: Tue, 27 Aug 2013 20:21:20 -0400 Subject: [PATCH] adding operators to enum_type --- include/fc/io/enum_type.hpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/fc/io/enum_type.hpp b/include/fc/io/enum_type.hpp index 9aa1050..52a9961 100644 --- a/include/fc/io/enum_type.hpp +++ b/include/fc/io/enum_type.hpp @@ -23,7 +23,17 @@ namespace fc enum_type& operator=( IntType i ) { value = (EnumType)i; return *this;} enum_type& operator=( EnumType i ) { value = i; return *this;} + + friend bool operator==( enum_type e, IntType i ) { return e.value == (EnumType)i; } + friend bool operator==( enum_type e, EnumType i ) { return e.value == i; } + + friend bool operator==( enum_type e, enum_type i ) { return e.value == i.value; } + friend bool operator==( IntType i, enum_type e) { return e.value == (EnumType)i; } + friend bool operator==( EnumType i, enum_type e ) { return e.value == i; } + friend bool operator!=( enum_type e, IntType i ) { return e.value != (EnumType)i; } + friend bool operator!=( enum_type e, EnumType i ) { return e.value != i; } + friend bool operator!=( enum_type e, enum_type i ) { return e.value != i.value; } EnumType value; };