@@ -48,23 +48,23 @@ class OptionalEnum
4848 constexpr void reset () noexcept { value_ = invalidValue; }
4949
5050 // Those comparisons can be simplified to comparing value_ due to the invalid value being a distinct value
51- friend constexpr bool operator ==(OptionalEnum lhs, OptionalEnum rhs) { return lhs.value_ == rhs.value_ ; }
52- friend constexpr bool operator !=(OptionalEnum lhs, OptionalEnum rhs) { return lhs.value_ != rhs.value_ ; }
51+ friend constexpr bool operator ==(OptionalEnum lhs, OptionalEnum rhs) noexcept { return lhs.value_ == rhs.value_ ; }
52+ friend constexpr bool operator !=(OptionalEnum lhs, OptionalEnum rhs) noexcept { return lhs.value_ != rhs.value_ ; }
5353 // Technically not required as above operators would be used, but included for better debug performance and
5454 // mirroring the standard
55- friend constexpr bool operator ==(OptionalEnum lhs, const T& rhs)
55+ friend constexpr bool operator ==(OptionalEnum lhs, const T& rhs) noexcept
5656 {
5757 return lhs.value_ == static_cast <underlying_type>(rhs);
5858 }
59- friend constexpr bool operator !=(OptionalEnum lhs, const T& rhs)
59+ friend constexpr bool operator !=(OptionalEnum lhs, const T& rhs) noexcept
6060 {
6161 return lhs.value_ != static_cast <underlying_type>(rhs);
6262 }
63- friend constexpr bool operator ==(const T& lhs, OptionalEnum rhs)
63+ friend constexpr bool operator ==(const T& lhs, OptionalEnum rhs) noexcept
6464 {
6565 return static_cast <underlying_type>(lhs) == rhs.value_ ;
6666 }
67- friend constexpr bool operator !=(const T& lhs, OptionalEnum rhs)
67+ friend constexpr bool operator !=(const T& lhs, OptionalEnum rhs) noexcept
6868 {
6969 return static_cast <underlying_type>(lhs) != rhs.value_ ;
7070 }
0 commit comments