From 568690658382ea1868ca5e1d3ec9cdd2c861d7de Mon Sep 17 00:00:00 2001 From: Adrian Conlon Date: Mon, 11 Oct 2021 10:43:33 +0100 Subject: [PATCH] Add nodiscard attributes, where needed Signed-off-by: Adrian Conlon --- M6502/HarteTest_6502/TestRunner.cpp | 1 - M6502/HarteTest_6502/TestRunner.h | 14 ++++++------- M6502/HarteTest_6502/json_t.h | 23 +++++++++++----------- M6502/HarteTest_6502/opcode_test_suite_t.h | 8 ++++---- M6502/HarteTest_6502/state_t.h | 16 +++++++-------- M6502/HarteTest_6502/test_t.h | 12 +++++------ 6 files changed, 37 insertions(+), 37 deletions(-) diff --git a/M6502/HarteTest_6502/TestRunner.cpp b/M6502/HarteTest_6502/TestRunner.cpp index 92883ee..a8291f5 100644 --- a/M6502/HarteTest_6502/TestRunner.cpp +++ b/M6502/HarteTest_6502/TestRunner.cpp @@ -39,7 +39,6 @@ void TestRunner::initialise() { WrittenByte.connect([this](EightBit::EventArgs&) { addActualEvent(test_t::action::write, ADDRESS().word, DATA()); }); - } void TestRunner::raise(std::string what, uint16_t expected, uint16_t actual) { diff --git a/M6502/HarteTest_6502/TestRunner.h b/M6502/HarteTest_6502/TestRunner.h index a102388..ccb9e48 100644 --- a/M6502/HarteTest_6502/TestRunner.h +++ b/M6502/HarteTest_6502/TestRunner.h @@ -21,14 +21,14 @@ private: bool m_event_count_mismatch = false; void initialiseState(); - bool checkState(); + [[nodiscard]] bool checkState(); void raise(std::string what, uint16_t expected, uint16_t actual); void raise(std::string what, uint8_t expected, uint8_t actual); void raise(std::string what, test_t::action expected, test_t::action actual); template - bool check(std::string what, T expected, T actual) { + [[nodiscard]] bool check(std::string what, T expected, T actual) { const auto success = actual == expected; if (!success) raise(what, expected, actual); @@ -48,10 +48,10 @@ public: virtual void initialise() final; - constexpr auto& RAM() noexcept { return m_ram; } - constexpr auto& CPU() noexcept { return m_cpu; } - constexpr const auto& test() const noexcept { return m_test; } - constexpr const auto& messages() const noexcept { return m_messages; } + [[nodiscard]] constexpr auto& RAM() noexcept { return m_ram; } + [[nodiscard]] constexpr auto& CPU() noexcept { return m_cpu; } + [[nodiscard]] constexpr const auto& test() const noexcept { return m_test; } + [[nodiscard]] constexpr const auto& messages() const noexcept { return m_messages; } - bool check(); + [[nodiscard]] bool check(); }; diff --git a/M6502/HarteTest_6502/json_t.h b/M6502/HarteTest_6502/json_t.h index 3d1c00e..b3d158f 100644 --- a/M6502/HarteTest_6502/json_t.h +++ b/M6502/HarteTest_6502/json_t.h @@ -1,24 +1,25 @@ #pragma once +#include #include #include class json_t { protected: - static const boost::json::value& get_value(const boost::json::object& object, std::string key); + [[nodiscard]] static const boost::json::value& get_value(const boost::json::object& object, std::string key); - static int64_t get_int64(const boost::json::value& value); - static uint16_t get_uint16(const boost::json::value& value); - static uint8_t get_uint8(const boost::json::value& value); + [[nodiscard]] static int64_t get_int64(const boost::json::value& value); + [[nodiscard]] static uint16_t get_uint16(const boost::json::value& value); + [[nodiscard]] static uint8_t get_uint8(const boost::json::value& value); - static int64_t get_int64(const boost::json::object& object, std::string key); - static uint16_t get_uint16(const boost::json::object& object, std::string key); - static uint8_t get_uint8(const boost::json::object& object, std::string key); + [[nodiscard]] static int64_t get_int64(const boost::json::object& object, std::string key); + [[nodiscard]] static uint16_t get_uint16(const boost::json::object& object, std::string key); + [[nodiscard]] static uint8_t get_uint8(const boost::json::object& object, std::string key); - static const boost::json::array& get_array(const boost::json::value& value); - static const boost::json::array& get_array(const boost::json::object& object, std::string key); + [[nodiscard]] static const boost::json::array& get_array(const boost::json::value& value); + [[nodiscard]] static const boost::json::array& get_array(const boost::json::object& object, std::string key); - static const boost::json::string& get_string(const boost::json::value& value); - static const boost::json::string& get_string(const boost::json::object& object, std::string key); + [[nodiscard]] static const boost::json::string& get_string(const boost::json::value& value); + [[nodiscard]] static const boost::json::string& get_string(const boost::json::object& object, std::string key); }; diff --git a/M6502/HarteTest_6502/opcode_test_suite_t.h b/M6502/HarteTest_6502/opcode_test_suite_t.h index 6f2c1b1..aabac89 100644 --- a/M6502/HarteTest_6502/opcode_test_suite_t.h +++ b/M6502/HarteTest_6502/opcode_test_suite_t.h @@ -5,7 +5,7 @@ class opcode_test_suite_t final { private: - static std::string read(std::string path); + [[nodiscard]] static std::string read(std::string path); std::string m_path; boost::json::value m_raw; @@ -13,9 +13,9 @@ private: public: opcode_test_suite_t(std::string path); - constexpr const auto& path() const noexcept { return m_path; } - constexpr const auto& raw() const noexcept { return m_raw; } - const boost::json::array& get_array() const noexcept; + [[nodiscard]] constexpr const auto& path() const noexcept { return m_path; } + [[nodiscard]] constexpr const auto& raw() const noexcept { return m_raw; } + [[nodiscard]] const boost::json::array& get_array() const noexcept; void load(); }; diff --git a/M6502/HarteTest_6502/state_t.h b/M6502/HarteTest_6502/state_t.h index 8d03d17..be2d8f2 100644 --- a/M6502/HarteTest_6502/state_t.h +++ b/M6502/HarteTest_6502/state_t.h @@ -18,7 +18,7 @@ private: uint8_t m_p = 0xff; std::unordered_map m_ram; - constexpr auto initialised() const noexcept { return m_initialised; } + [[nodiscard]] constexpr auto initialised() const noexcept { return m_initialised; } void initialise(const boost::json::object& serialised); @@ -27,11 +27,11 @@ public: state_t(const boost::json::object& serialised); state_t(const boost::json::value& serialised); - constexpr auto pc() const noexcept { return m_pc; } - constexpr auto s() const noexcept { return m_s; } - constexpr auto a() const noexcept { return m_a; } - constexpr auto x() const noexcept { return m_x; } - constexpr auto y() const noexcept { return m_y; } - constexpr auto p() const noexcept { return m_p; } - constexpr const auto& ram() const noexcept { return m_ram; } + [[nodiscard]] constexpr auto pc() const noexcept { return m_pc; } + [[nodiscard]] constexpr auto s() const noexcept { return m_s; } + [[nodiscard]] constexpr auto a() const noexcept { return m_a; } + [[nodiscard]] constexpr auto x() const noexcept { return m_x; } + [[nodiscard]] constexpr auto y() const noexcept { return m_y; } + [[nodiscard]] constexpr auto p() const noexcept { return m_p; } + [[nodiscard]] constexpr const auto& ram() const noexcept { return m_ram; } }; diff --git a/M6502/HarteTest_6502/test_t.h b/M6502/HarteTest_6502/test_t.h index 8c78b99..fafd366 100644 --- a/M6502/HarteTest_6502/test_t.h +++ b/M6502/HarteTest_6502/test_t.h @@ -16,8 +16,8 @@ public: typedef std::tuple event_t; // address, contents, action typedef std::vector events_t; - static action to_action(std::string value); - static std::string to_string(action value); + [[nodiscard]] static action to_action(std::string value); + [[nodiscard]] static std::string to_string(action value); private: std::string m_name; @@ -31,8 +31,8 @@ public: test_t(const boost::json::object& serialised); test_t(const boost::json::value& serialised); - constexpr const auto& name() const noexcept { return m_name; } - constexpr const auto& initial_state() const noexcept { return m_initial_state; } - constexpr const auto& final_state() const noexcept { return m_final_state; } - constexpr const auto& cycles() const noexcept { return m_cycles; } + [[nodiscard]] constexpr const auto& name() const noexcept { return m_name; } + [[nodiscard]] constexpr const auto& initial_state() const noexcept { return m_initial_state; } + [[nodiscard]] constexpr const auto& final_state() const noexcept { return m_final_state; } + [[nodiscard]] constexpr const auto& cycles() const noexcept { return m_cycles; } }; \ No newline at end of file