STYLE: Use default member initialization
Converts a default constructor’s member initializers into the new
default member initializers in C++11. Other member initializers that match the
default member initializer are removed. This can reduce repeated code or allow
use of ‘= default’.
SRCDIR=/Users/johnsonhj/src/jsoncpp/ #My local SRC
BLDDIR=/Users/johnsonhj/src/jsoncpp/cmake-build-debug/ #My local BLD
cd /Users/johnsonhj/src/jsoncpp/cmake-build-debug/
run-clang-tidy.py -extra-arg=-D__clang__ -checks=-*,modernize-use-default-member-init -header-filter=.* -fix
diff --git a/include/json/features.h b/include/json/features.h
index 72eb6a8..ba25e8d 100644
--- a/include/json/features.h
+++ b/include/json/features.h
@@ -41,17 +41,17 @@
Features();
/// \c true if comments are allowed. Default: \c true.
- bool allowComments_;
+ bool allowComments_{true};
/// \c true if root must be either an array or an object value. Default: \c
/// false.
- bool strictRoot_;
+ bool strictRoot_{false};
/// \c true if dropped null placeholders are allowed. Default: \c false.
- bool allowDroppedNullPlaceholders_;
+ bool allowDroppedNullPlaceholders_{false};
/// \c true if numeric object key are allowed. Default: \c false.
- bool allowNumericKeys_;
+ bool allowNumericKeys_{false};
};
} // namespace Json
diff --git a/include/json/reader.h b/include/json/reader.h
index 58cb58b..1af5cb0 100644
--- a/include/json/reader.h
+++ b/include/json/reader.h
@@ -242,14 +242,14 @@
Nodes nodes_;
Errors errors_;
JSONCPP_STRING document_;
- Location begin_;
- Location end_;
- Location current_;
- Location lastValueEnd_;
- Value* lastValue_;
+ Location begin_{};
+ Location end_{};
+ Location current_{};
+ Location lastValueEnd_{};
+ Value* lastValue_{};
JSONCPP_STRING commentsBefore_;
Features features_;
- bool collectComments_;
+ bool collectComments_{};
}; // Reader
/** Interface for reading JSON from a char array.
diff --git a/include/json/value.h b/include/json/value.h
index 71bc65c..8321de7 100644
--- a/include/json/value.h
+++ b/include/json/value.h
@@ -630,7 +630,7 @@
void setComment(const char* text, size_t len);
- char* comment_;
+ char* comment_{nullptr};
};
// struct MemberNamesTransform
@@ -678,8 +678,8 @@
private:
enum Kind { kindNone = 0, kindIndex, kindKey };
JSONCPP_STRING key_;
- ArrayIndex index_;
- Kind kind_;
+ ArrayIndex index_{};
+ Kind kind_{kindNone};
};
/** \brief Experimental and untested: represents a "path" to access a node.
@@ -780,7 +780,7 @@
private:
Value::ObjectValues::iterator current_;
// Indicates that iterator is for a null value.
- bool isNull_;
+ bool isNull_{true};
public:
// For some reason, BORLAND needs these at the end, rather
diff --git a/include/json/writer.h b/include/json/writer.h
index 34e71ed..1653260 100644
--- a/include/json/writer.h
+++ b/include/json/writer.h
@@ -189,9 +189,9 @@
void writeValue(const Value& value);
JSONCPP_STRING document_;
- bool yamlCompatibilityEnabled_;
- bool dropNullPlaceholders_;
- bool omitEndingLineFeed_;
+ bool yamlCompatibilityEnabled_{false};
+ bool dropNullPlaceholders_{false};
+ bool omitEndingLineFeed_{false};
};
#if defined(_MSC_VER)
#pragma warning(pop)
@@ -257,9 +257,9 @@
ChildValues childValues_;
JSONCPP_STRING document_;
JSONCPP_STRING indentString_;
- unsigned int rightMargin_;
- unsigned int indentSize_;
- bool addChildValues_;
+ unsigned int rightMargin_{74};
+ unsigned int indentSize_{3};
+ bool addChildValues_{false};
};
#if defined(_MSC_VER)
#pragma warning(pop)
@@ -331,7 +331,7 @@
ChildValues childValues_;
JSONCPP_OSTREAM* document_;
JSONCPP_STRING indentString_;
- unsigned int rightMargin_;
+ unsigned int rightMargin_{74};
JSONCPP_STRING indentation_;
bool addChildValues_ : 1;
bool indented_ : 1;
diff --git a/src/lib_json/json_reader.cpp b/src/lib_json/json_reader.cpp
index c5af014..e1dc212 100644
--- a/src/lib_json/json_reader.cpp
+++ b/src/lib_json/json_reader.cpp
@@ -60,8 +60,7 @@
// ////////////////////////////////
Features::Features()
- : allowComments_(true), strictRoot_(false),
- allowDroppedNullPlaceholders_(false), allowNumericKeys_(false) {}
+ {}
Features Features::all() { return {}; }
diff --git a/src/lib_json/json_value.cpp b/src/lib_json/json_value.cpp
index 2445d31..76c14a2 100644
--- a/src/lib_json/json_value.cpp
+++ b/src/lib_json/json_value.cpp
@@ -233,7 +233,7 @@
// //////////////////////////////////////////////////////////////////
// //////////////////////////////////////////////////////////////////
-Value::CommentInfo::CommentInfo() : comment_(nullptr) {}
+Value::CommentInfo::CommentInfo() {}
Value::CommentInfo::~CommentInfo() {
if (comment_)
@@ -1575,7 +1575,7 @@
// class PathArgument
// //////////////////////////////////////////////////////////////////
-PathArgument::PathArgument() : key_(), index_(), kind_(kindNone) {}
+PathArgument::PathArgument() : key_() {}
PathArgument::PathArgument(ArrayIndex index)
: key_(), index_(index), kind_(kindIndex) {}
diff --git a/src/lib_json/json_valueiterator.inl b/src/lib_json/json_valueiterator.inl
index 7cc3792..4a2fc2e 100644
--- a/src/lib_json/json_valueiterator.inl
+++ b/src/lib_json/json_valueiterator.inl
@@ -16,7 +16,7 @@
// //////////////////////////////////////////////////////////////////
ValueIteratorBase::ValueIteratorBase()
- : current_(), isNull_(true) {
+ : current_() {
}
ValueIteratorBase::ValueIteratorBase(
diff --git a/src/lib_json/json_writer.cpp b/src/lib_json/json_writer.cpp
index 54fcb4f..02d9a74 100644
--- a/src/lib_json/json_writer.cpp
+++ b/src/lib_json/json_writer.cpp
@@ -352,8 +352,8 @@
// //////////////////////////////////////////////////////////////////
FastWriter::FastWriter()
- : yamlCompatibilityEnabled_(false), dropNullPlaceholders_(false),
- omitEndingLineFeed_(false) {}
+
+ {}
void FastWriter::enableYAMLCompatibility() { yamlCompatibilityEnabled_ = true; }
@@ -428,7 +428,7 @@
// //////////////////////////////////////////////////////////////////
StyledWriter::StyledWriter()
- : rightMargin_(74), indentSize_(3), addChildValues_(false) {}
+ {}
JSONCPP_STRING StyledWriter::write(const Value& root) {
document_.clear();
diff --git a/src/test_lib_json/jsontest.cpp b/src/test_lib_json/jsontest.cpp
index 03703c9..0329eea 100644
--- a/src/test_lib_json/jsontest.cpp
+++ b/src/test_lib_json/jsontest.cpp
@@ -74,7 +74,7 @@
// //////////////////////////////////////////////////////////////////
TestResult::TestResult()
- : predicateId_(1), lastUsedPredicateId_(0), messageTarget_(nullptr) {
+ {
// The root predicate has id 0
rootPredicateNode_.id_ = 0;
rootPredicateNode_.next_ = nullptr;
@@ -205,7 +205,7 @@
// class TestCase
// //////////////////////////////////////////////////////////////////
-TestCase::TestCase() : result_(nullptr) {}
+TestCase::TestCase() {}
TestCase::~TestCase() {}
diff --git a/src/test_lib_json/jsontest.h b/src/test_lib_json/jsontest.h
index e508282..7650422 100644
--- a/src/test_lib_json/jsontest.h
+++ b/src/test_lib_json/jsontest.h
@@ -60,7 +60,7 @@
/// Not encapsulated to prevent step into when debugging failed assertions
/// Incremented by one on assertion predicate entry, decreased by one
/// by addPredicateContext().
- PredicateContext::Id predicateId_;
+ PredicateContext::Id predicateId_{1};
/// \internal Implementation detail for predicate macros
PredicateContext* predicateStackTail_;
@@ -109,9 +109,9 @@
Failures failures_;
JSONCPP_STRING name_;
PredicateContext rootPredicateNode_;
- PredicateContext::Id lastUsedPredicateId_;
+ PredicateContext::Id lastUsedPredicateId_{0};
/// Failure which is the target of the messages added using operator <<
- Failure* messageTarget_;
+ Failure* messageTarget_{nullptr};
};
class TestCase {
@@ -125,7 +125,7 @@
virtual const char* testName() const = 0;
protected:
- TestResult* result_;
+ TestResult* result_{nullptr};
private:
virtual void runTestCase() = 0;
diff --git a/src/test_lib_json/main.cpp b/src/test_lib_json/main.cpp
index d0315d7..b4f3f59 100644
--- a/src/test_lib_json/main.cpp
+++ b/src/test_lib_json/main.cpp
@@ -82,19 +82,19 @@
/// Initialize all checks to \c false by default.
IsCheck();
- bool isObject_;
- bool isArray_;
- bool isBool_;
- bool isString_;
- bool isNull_;
+ bool isObject_{false};
+ bool isArray_{false};
+ bool isBool_{false};
+ bool isString_{false};
+ bool isNull_{false};
- bool isInt_;
- bool isInt64_;
- bool isUInt_;
- bool isUInt64_;
- bool isIntegral_;
- bool isDouble_;
- bool isNumeric_;
+ bool isInt_{false};
+ bool isInt64_{false};
+ bool isUInt_{false};
+ bool isUInt64_{false};
+ bool isIntegral_{false};
+ bool isDouble_{false};
+ bool isNumeric_{false};
};
void checkConstMemberCount(const Json::Value& value,
@@ -1331,10 +1331,8 @@
}
ValueTest::IsCheck::IsCheck()
- : isObject_(false), isArray_(false), isBool_(false), isString_(false),
- isNull_(false), isInt_(false), isInt64_(false), isUInt_(false),
- isUInt64_(false), isIntegral_(false), isDouble_(false),
- isNumeric_(false) {}
+
+ {}
void ValueTest::checkIs(const Json::Value& value, const IsCheck& check) {
JSONTEST_ASSERT_EQUAL(check.isObject_, value.isObject());