mirror of
https://github.com/open-source-parsers/jsoncpp.git
synced 2024-12-26 18:51:04 +08:00
Merge pull request #599 from pavel-pimenov/fix-v815
Fix V815:Decreased performance
This commit is contained in:
commit
559b4416e6
@ -137,7 +137,7 @@ bool Reader::parse(const char* beginDoc,
|
||||
current_ = begin_;
|
||||
lastValueEnd_ = 0;
|
||||
lastValue_ = 0;
|
||||
commentsBefore_ = "";
|
||||
commentsBefore_.clear();
|
||||
errors_.clear();
|
||||
while (!nodes_.empty())
|
||||
nodes_.pop();
|
||||
@ -176,7 +176,7 @@ bool Reader::readValue() {
|
||||
|
||||
if (collectComments_ && !commentsBefore_.empty()) {
|
||||
currentValue().setComment(commentsBefore_, commentBefore);
|
||||
commentsBefore_ = "";
|
||||
commentsBefore_.clear();
|
||||
}
|
||||
|
||||
switch (token.type_) {
|
||||
@ -474,7 +474,7 @@ bool Reader::readObject(Token& tokenStart) {
|
||||
break;
|
||||
if (tokenName.type_ == tokenObjectEnd && name.empty()) // empty object
|
||||
return true;
|
||||
name = "";
|
||||
name.clear();
|
||||
if (tokenName.type_ == tokenString) {
|
||||
if (!decodeString(tokenName, name))
|
||||
return recoverFromError(tokenObjectEnd);
|
||||
@ -1056,7 +1056,7 @@ bool OurReader::parse(const char* beginDoc,
|
||||
current_ = begin_;
|
||||
lastValueEnd_ = 0;
|
||||
lastValue_ = 0;
|
||||
commentsBefore_ = "";
|
||||
commentsBefore_.clear();
|
||||
errors_.clear();
|
||||
while (!nodes_.empty())
|
||||
nodes_.pop();
|
||||
@ -1098,7 +1098,7 @@ bool OurReader::readValue() {
|
||||
|
||||
if (collectComments_ && !commentsBefore_.empty()) {
|
||||
currentValue().setComment(commentsBefore_, commentBefore);
|
||||
commentsBefore_ = "";
|
||||
commentsBefore_.clear();
|
||||
}
|
||||
|
||||
switch (token.type_) {
|
||||
@ -1447,7 +1447,7 @@ bool OurReader::readObject(Token& tokenStart) {
|
||||
break;
|
||||
if (tokenName.type_ == tokenObjectEnd && name.empty()) // empty object
|
||||
return true;
|
||||
name = "";
|
||||
name.clear();
|
||||
if (tokenName.type_ == tokenString) {
|
||||
if (!decodeString(tokenName, name))
|
||||
return recoverFromError(tokenObjectEnd);
|
||||
|
@ -880,7 +880,7 @@ bool Value::isConvertibleTo(ValueType other) const {
|
||||
case nullValue:
|
||||
return (isNumeric() && asDouble() == 0.0) ||
|
||||
(type_ == booleanValue && value_.bool_ == false) ||
|
||||
(type_ == stringValue && asString() == "") ||
|
||||
(type_ == stringValue && asString().empty()) ||
|
||||
(type_ == arrayValue && value_.map_->size() == 0) ||
|
||||
(type_ == objectValue && value_.map_->size() == 0) ||
|
||||
type_ == nullValue;
|
||||
@ -1506,6 +1506,7 @@ Path::Path(const JSONCPP_STRING& path,
|
||||
const PathArgument& a4,
|
||||
const PathArgument& a5) {
|
||||
InArgs in;
|
||||
in.reserve(5);
|
||||
in.push_back(&a1);
|
||||
in.push_back(&a2);
|
||||
in.push_back(&a3);
|
||||
|
@ -335,7 +335,7 @@ void FastWriter::dropNullPlaceholders() { dropNullPlaceholders_ = true; }
|
||||
void FastWriter::omitEndingLineFeed() { omitEndingLineFeed_ = true; }
|
||||
|
||||
JSONCPP_STRING FastWriter::write(const Value& root) {
|
||||
document_ = "";
|
||||
document_.clear();
|
||||
writeValue(root);
|
||||
if (!omitEndingLineFeed_)
|
||||
document_ += "\n";
|
||||
@ -403,9 +403,9 @@ StyledWriter::StyledWriter()
|
||||
: rightMargin_(74), indentSize_(3), addChildValues_() {}
|
||||
|
||||
JSONCPP_STRING StyledWriter::write(const Value& root) {
|
||||
document_ = "";
|
||||
document_.clear();
|
||||
addChildValues_ = false;
|
||||
indentString_ = "";
|
||||
indentString_.clear();
|
||||
writeCommentBeforeValue(root);
|
||||
writeValue(root);
|
||||
writeCommentAfterValueOnSameLine(root);
|
||||
@ -619,7 +619,7 @@ StyledStreamWriter::StyledStreamWriter(JSONCPP_STRING indentation)
|
||||
void StyledStreamWriter::write(JSONCPP_OSTREAM& out, const Value& root) {
|
||||
document_ = &out;
|
||||
addChildValues_ = false;
|
||||
indentString_ = "";
|
||||
indentString_.clear();
|
||||
indented_ = true;
|
||||
writeCommentBeforeValue(root);
|
||||
if (!indented_) writeIndent();
|
||||
@ -901,7 +901,7 @@ int BuiltStyledStreamWriter::write(Value const& root, JSONCPP_OSTREAM* sout)
|
||||
sout_ = sout;
|
||||
addChildValues_ = false;
|
||||
indented_ = true;
|
||||
indentString_ = "";
|
||||
indentString_.clear();
|
||||
writeCommentBeforeValue(root);
|
||||
if (!indented_) writeIndent();
|
||||
indented_ = true;
|
||||
@ -1155,10 +1155,10 @@ StreamWriter* StreamWriterBuilder::newStreamWriter() const
|
||||
}
|
||||
JSONCPP_STRING nullSymbol = "null";
|
||||
if (dnp) {
|
||||
nullSymbol = "";
|
||||
nullSymbol.clear();
|
||||
}
|
||||
if (pre > 17) pre = 17;
|
||||
JSONCPP_STRING endingLineFeedSymbol = "";
|
||||
JSONCPP_STRING endingLineFeedSymbol;
|
||||
return new BuiltStyledStreamWriter(
|
||||
indentation, cs,
|
||||
colonSymbol, nullSymbol, endingLineFeedSymbol, usf, pre);
|
||||
|
Loading…
x
Reference in New Issue
Block a user