diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/enum_type.hpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/core/enum_type.hpp b/src/core/enum_type.hpp index 920cb514a..d5bcf6dbe 100644 --- a/src/core/enum_type.hpp +++ b/src/core/enum_type.hpp @@ -13,17 +13,17 @@ #define ENUM_TYPE_HPP /** Some enums need to have allowed incrementing (i.e. StationClassID) */ -#define DECLARE_POSTFIX_INCREMENT(type) \ - inline type operator ++(type& e, int) \ +#define DECLARE_POSTFIX_INCREMENT(enum_type) \ + inline enum_type operator ++(enum_type& e, int) \ { \ - type e_org = e; \ - e = (type)((int)e + 1); \ + enum_type e_org = e; \ + e = (enum_type)((std::underlying_type<enum_type>::type)e + 1); \ return e_org; \ } \ - inline type operator --(type& e, int) \ + inline enum_type operator --(enum_type& e, int) \ { \ - type e_org = e; \ - e = (type)((int)e - 1); \ + enum_type e_org = e; \ + e = (enum_type)((std::underlying_type<enum_type>::type)e - 1); \ return e_org; \ } |