diff --git a/inc/Register.h b/inc/Register.h index 0c0b972..893c72f 100644 --- a/inc/Register.h +++ b/inc/Register.h @@ -68,28 +68,15 @@ namespace EightBit { this->word -= rhs.word; return *this; } + + [[nodiscard]] constexpr auto operator==(const register16_t& rhs) const noexcept { return word == rhs.word; } + [[nodiscard]] constexpr auto operator!=(const register16_t& rhs) const noexcept { return word != rhs.word; } + [[nodiscard]] constexpr auto operator<(const register16_t& rhs) const noexcept { return word < rhs.word; } + [[nodiscard]] constexpr auto operator<=(const register16_t& rhs) const noexcept { return word <= rhs.word; } + [[nodiscard]] constexpr auto operator>(const register16_t& rhs) const noexcept { return word > rhs.word; } + [[nodiscard]] constexpr auto operator>=(const register16_t& rhs) const noexcept { return word >= rhs.word; } }; - [[nodiscard]] constexpr inline auto operator==(const register16_t lhs, const register16_t rhs) noexcept { - return lhs.word == rhs.word; - } - -#if __cplusplus >= 202002L - [[nodiscard]] constexpr auto operator<=>(const register16_t lhs, const register16_t rhs) noexcept { - return lhs.word <=> rhs.word; - } -#else - - [[nodiscard]] constexpr inline auto operator!=(const register16_t lhs, const register16_t rhs) noexcept { - return lhs.word != rhs.word; - } - - [[nodiscard]] constexpr inline auto operator>(const register16_t lhs, const register16_t rhs) noexcept { - return lhs.word > rhs.word; - } - -#endif - [[nodiscard]] constexpr inline auto operator+(register16_t lhs, const register16_t rhs) noexcept { lhs += rhs; return lhs;