From cc2007cdb8479d31b5553b53ac0a2c7aedeccad4 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Tue, 26 May 2020 16:05:48 -0700 Subject: [PATCH] [clang-tidy] use nodiscard Found with modernize-use-nodiscard Signed-off-by: Rosen Penev --- include/cxxopts.hpp | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/include/cxxopts.hpp b/include/cxxopts.hpp index 3dd5f52..48aa6e2 100644 --- a/include/cxxopts.hpp +++ b/include/cxxopts.hpp @@ -45,6 +45,12 @@ THE SOFTWARE. #define CXXOPTS_HAS_OPTIONAL #endif +#if __cplusplus >= 201603L +#define CXXOPTS_NODISCARD [[nodiscard]] +#else +#define CXXOPTS_NODISCARD +#endif + #ifndef CXXOPTS_VECTOR_DELIMITER #define CXXOPTS_VECTOR_DELIMITER ',' #endif @@ -330,6 +336,7 @@ namespace cxxopts { } + CXXOPTS_NODISCARD const char* what() const noexcept override { @@ -922,6 +929,7 @@ namespace cxxopts public: using abstract_value::abstract_value; + CXXOPTS_NODISCARD std::shared_ptr clone() const { @@ -1008,28 +1016,34 @@ namespace cxxopts OptionDetails(OptionDetails&& rhs) = default; + CXXOPTS_NODISCARD const String& description() const { return m_desc; } - const Value& value() const { + CXXOPTS_NODISCARD + const Value& + value() const { return *m_value; } + CXXOPTS_NODISCARD std::shared_ptr make_storage() const { return m_value->clone(); } + CXXOPTS_NODISCARD const std::string& short_name() const { return m_short; } + CXXOPTS_NODISCARD const std::string& long_name() const { @@ -1088,6 +1102,7 @@ namespace cxxopts m_value->parse(); } + CXXOPTS_NODISCARD size_t count() const noexcept { @@ -1095,6 +1110,7 @@ namespace cxxopts } // TODO: maybe default options should count towards the number of arguments + CXXOPTS_NODISCARD bool has_default() const noexcept { @@ -1140,15 +1156,15 @@ namespace cxxopts { } - const - std::string& + CXXOPTS_NODISCARD + const std::string& key() const { return m_key; } - const - std::string& + CXXOPTS_NODISCARD + const std::string& value() const { return m_value;