clang-tidy cleanups 2 (#1048)
* [clang-tidy] Add explicit to single argument constructor
Found with hicpp-explicit-conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
* [clang-tidy] Fix mismatching declaration
Found with readability-inconsistent-declaration-parameter-name
Signed-off-by: Rosen Penev <rosenp@gmail.com>
* [clang-tidy] Replace {} with = default
Found with modernize-use-equals-default
Signed-off-by: Rosen Penev <rosenp@gmail.com>
* [clang-tidy] Remove redundant .c_Str
Found with readability-redundant-string-cstr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
* [clang-tidy] Simplify boolean expressions
Found with readability-simplify-boolean-expr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
* [clang-tidy] Use std::move
Found with modernize-pass-by-value
Signed-off-by: Rosen Penev <rosenp@gmail.com>
* [clang-tidy] Uppercase literal suffixes
Found with hicpp-uppercase-literal-suffix
Signed-off-by: Rosen Penev <rosenp@gmail.com>
diff --git a/include/json/value.h b/include/json/value.h
index 7efc7c5..e3c3d2b 100644
--- a/include/json/value.h
+++ b/include/json/value.h
@@ -657,7 +657,7 @@
Comments& operator=(Comments&& that);
bool has(CommentPlacement slot) const;
String get(CommentPlacement slot) const;
- void set(CommentPlacement slot, String s);
+ void set(CommentPlacement slot, String comment);
private:
using Array = std::array<String, numberOfCommentPlacement>;
@@ -681,7 +681,7 @@
PathArgument();
PathArgument(ArrayIndex index);
PathArgument(const char* key);
- PathArgument(const String& key);
+ PathArgument(String key);
private:
enum Kind { kindNone = 0, kindIndex, kindKey };
diff --git a/src/lib_json/json_reader.cpp b/src/lib_json/json_reader.cpp
index ac673ff..958a398 100644
--- a/src/lib_json/json_reader.cpp
+++ b/src/lib_json/json_reader.cpp
@@ -889,7 +889,7 @@
String message;
};
- OurReader(OurFeatures const& features);
+ explicit OurReader(OurFeatures const& features);
bool parse(const char* beginDoc, const char* endDoc, Value& root,
bool collectComments = true);
String getFormattedErrorMessages() const;
diff --git a/src/lib_json/json_value.cpp b/src/lib_json/json_value.cpp
index e136783..9518ab8 100644
--- a/src/lib_json/json_value.cpp
+++ b/src/lib_json/json_value.cpp
@@ -203,7 +203,7 @@
#if JSON_USE_EXCEPTION
Exception::Exception(String msg) : msg_(std::move(msg)) {}
-Exception::~Exception() JSONCPP_NOEXCEPT {}
+Exception::~Exception() JSONCPP_NOEXCEPT = default;
char const* Exception::what() const JSONCPP_NOEXCEPT { return msg_.c_str(); }
RuntimeError::RuntimeError(String const& msg) : Exception(msg) {}
LogicError::LogicError(String const& msg) : Exception(msg) {}
@@ -263,7 +263,7 @@
Value::CZString::~CZString() {
if (cstr_ && storage_.policy_ == duplicate) {
releaseStringValue(const_cast<char*>(cstr_),
- storage_.length_ + 1u); // +1 for null terminating
+ storage_.length_ + 1U); // +1 for null terminating
// character for sake of
// completeness but not actually
// necessary
@@ -494,7 +494,7 @@
bool Value::operator<(const Value& other) const {
int typeDelta = type() - other.type();
if (typeDelta)
- return typeDelta < 0 ? true : false;
+ return typeDelta < 0;
switch (type()) {
case nullValue:
return false;
@@ -508,10 +508,7 @@
return value_.bool_ < other.value_.bool_;
case stringValue: {
if ((value_.string_ == nullptr) || (other.value_.string_ == nullptr)) {
- if (other.value_.string_)
- return true;
- else
- return false;
+ return other.value_.string_ != nullptr;
}
unsigned this_len;
unsigned other_len;
@@ -809,7 +806,7 @@
case nullValue:
return 0.0;
case booleanValue:
- return value_.bool_ ? 1.0f : 0.0f;
+ return value_.bool_ ? 1.0F : 0.0F;
default:
break;
}
@@ -823,9 +820,9 @@
case nullValue:
return false;
case intValue:
- return value_.int_ ? true : false;
+ return value_.int_ != 0;
case uintValue:
- return value_.uint_ ? true : false;
+ return value_.uint_ != 0;
case realValue: {
// According to JavaScript language zero or NaN is regarded as false
const auto value_classification = std::fpclassify(value_.real_);
@@ -841,7 +838,7 @@
switch (other) {
case nullValue:
return (isNumeric() && asDouble() == 0.0) ||
- (type() == booleanValue && value_.bool_ == false) ||
+ (type() == booleanValue && !value_.bool_) ||
(type() == stringValue && asString().empty()) ||
(type() == arrayValue && value_.map_->empty()) ||
(type() == objectValue && value_.map_->empty()) ||
@@ -896,7 +893,7 @@
bool Value::empty() const {
if (isNull() || isArray() || isObject())
- return size() == 0u;
+ return size() == 0U;
else
return false;
}
@@ -1545,15 +1542,14 @@
// class PathArgument
// //////////////////////////////////////////////////////////////////
-PathArgument::PathArgument() {}
+PathArgument::PathArgument() = default;
PathArgument::PathArgument(ArrayIndex index)
: index_(index), kind_(kindIndex) {}
PathArgument::PathArgument(const char* key) : key_(key), kind_(kindKey) {}
-PathArgument::PathArgument(const String& key)
- : key_(key.c_str()), kind_(kindKey) {}
+PathArgument::PathArgument(String key) : key_(std::move(key)), kind_(kindKey) {}
// class Path
// //////////////////////////////////////////////////////////////////