Commit 07f5cb24f1d75aad6c27eafd83863a78a37f16cb

Authored by Rosen Penev
Committed by GitHub
1 parent 5f43f4cb

[clang-tidy] use nodiscard (#234)

Found with modernize-use-nodiscard

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Showing 1 changed file with 21 additions and 5 deletions
include/cxxopts.hpp
... ... @@ -45,6 +45,12 @@ THE SOFTWARE.
45 45 #define CXXOPTS_HAS_OPTIONAL
46 46 #endif
47 47  
  48 +#if __cplusplus >= 201603L
  49 +#define CXXOPTS_NODISCARD [[nodiscard]]
  50 +#else
  51 +#define CXXOPTS_NODISCARD
  52 +#endif
  53 +
48 54 #ifndef CXXOPTS_VECTOR_DELIMITER
49 55 #define CXXOPTS_VECTOR_DELIMITER ','
50 56 #endif
... ... @@ -330,6 +336,7 @@ namespace cxxopts
330 336 {
331 337 }
332 338  
  339 + CXXOPTS_NODISCARD
333 340 const char*
334 341 what() const noexcept override
335 342 {
... ... @@ -933,6 +940,7 @@ namespace cxxopts
933 940 public:
934 941 using abstract_value<T>::abstract_value;
935 942  
  943 + CXXOPTS_NODISCARD
936 944 std::shared_ptr<Value>
937 945 clone() const
938 946 {
... ... @@ -1019,28 +1027,34 @@ namespace cxxopts
1019 1027  
1020 1028 OptionDetails(OptionDetails&& rhs) = default;
1021 1029  
  1030 + CXXOPTS_NODISCARD
1022 1031 const String&
1023 1032 description() const
1024 1033 {
1025 1034 return m_desc;
1026 1035 }
1027 1036  
1028   - const Value& value() const {
  1037 + CXXOPTS_NODISCARD
  1038 + const Value&
  1039 + value() const {
1029 1040 return *m_value;
1030 1041 }
1031 1042  
  1043 + CXXOPTS_NODISCARD
1032 1044 std::shared_ptr<Value>
1033 1045 make_storage() const
1034 1046 {
1035 1047 return m_value->clone();
1036 1048 }
1037 1049  
  1050 + CXXOPTS_NODISCARD
1038 1051 const std::string&
1039 1052 short_name() const
1040 1053 {
1041 1054 return m_short;
1042 1055 }
1043 1056  
  1057 + CXXOPTS_NODISCARD
1044 1058 const std::string&
1045 1059 long_name() const
1046 1060 {
... ... @@ -1101,6 +1115,7 @@ namespace cxxopts
1101 1115 m_value->parse();
1102 1116 }
1103 1117  
  1118 + CXXOPTS_NODISCARD
1104 1119 size_t
1105 1120 count() const noexcept
1106 1121 {
... ... @@ -1108,6 +1123,7 @@ namespace cxxopts
1108 1123 }
1109 1124  
1110 1125 // TODO: maybe default options should count towards the number of arguments
  1126 + CXXOPTS_NODISCARD
1111 1127 bool
1112 1128 has_default() const noexcept
1113 1129 {
... ... @@ -1157,15 +1173,15 @@ namespace cxxopts
1157 1173 {
1158 1174 }
1159 1175  
1160   - const
1161   - std::string&
  1176 + CXXOPTS_NODISCARD
  1177 + const std::string&
1162 1178 key() const
1163 1179 {
1164 1180 return m_key;
1165 1181 }
1166 1182  
1167   - const
1168   - std::string&
  1183 + CXXOPTS_NODISCARD
  1184 + const std::string&
1169 1185 value() const
1170 1186 {
1171 1187 return m_value;
... ...