deprecate old Writers

also, use withers instead of setters, and update docs
This commit is contained in:
Christopher Dunn
2015-01-25 18:45:59 -06:00
parent d78caa3851
commit c7b39c2e25
4 changed files with 39 additions and 23 deletions

View File

@@ -185,7 +185,7 @@ static std::string useBuiltStyledStreamWriter(
Json::Value const& root)
{
Json::StreamWriter::Builder builder;
builder.setCommentStyle(Json::StreamWriter::CommentStyle::All);
builder.withCommentStyle(Json::StreamWriter::CommentStyle::All);
return writeString(root, builder);
}
static int rewriteValueTree(

View File

@@ -1058,25 +1058,30 @@ StreamWriter::Builder::Builder(Builder const&)
{abort();}
void StreamWriter::Builder::operator=(Builder const&)
{abort();}
void StreamWriter::Builder::setCommentStyle(CommentStyle v)
StreamWriter::Builder& StreamWriter::Builder::withCommentStyle(CommentStyle v)
{
own_->setCommentStyle(v);
return *this;
}
void StreamWriter::Builder::setIndentation(std::string v)
StreamWriter::Builder& StreamWriter::Builder::withIndentation(std::string v)
{
own_->setIndentation(v);
return *this;
}
void StreamWriter::Builder::setDropNullPlaceholders(bool v)
StreamWriter::Builder& StreamWriter::Builder::withDropNullPlaceholders(bool v)
{
own_->setDropNullPlaceholders(v);
return *this;
}
void StreamWriter::Builder::setOmitEndingLineFeed(bool v)
StreamWriter::Builder& StreamWriter::Builder::withOmitEndingLineFeed(bool v)
{
own_->setOmitEndingLineFeed(v);
return *this;
}
void StreamWriter::Builder::setEnableYAMLCompatibility(bool v)
StreamWriter::Builder& StreamWriter::Builder::withEnableYAMLCompatibility(bool v)
{
own_->setEnableYAMLCompatibility(v);
return *this;
}
StreamWriter* StreamWriter::Builder::newStreamWriter(std::ostream* sout) const
{
@@ -1092,8 +1097,8 @@ std::string writeString(Value const& root, StreamWriter::Builder const& builder)
std::ostream& operator<<(std::ostream& sout, Value const& root) {
StreamWriter::Builder builder;
builder.setCommentStyle(StreamWriter::CommentStyle::All);
builder.setIndentation("\t");
builder.withCommentStyle(StreamWriter::CommentStyle::All);
builder.withIndentation("\t");
std::shared_ptr<StreamWriter> writer(builder.newStreamWriter(&sout));
writer->write(root);
return sout;