clarify Builders
diff --git a/include/json/reader.h b/include/json/reader.h
index 1111a7b..7dc9761 100644
--- a/include/json/reader.h
+++ b/include/json/reader.h
@@ -274,21 +274,27 @@
}; // Factory
}; // CharReader
+/** \brief Build a CharReader implementation.
+
+Usage:
+\code
+ using namespace Json;
+ CharReaderBuilder builder;
+ builder.collectComments_ = true;
+ std::shared_ptr<CharReader> reader(
+ builder.newCharReader());
+ Value value;
+ std::string errs;
+ bool ok = parseFromStream(std::cin, &value, &errs);
+\endcode
+*/
class CharReaderBuilder : public CharReader::Factory {
+public:
bool collectComments_;
Features features_;
-public:
+
CharReaderBuilder();
-
- CharReaderBuilder& withCollectComments(bool v) {
- collectComments_ = v;
- return *this;
- }
-
- CharReaderBuilder& withFeatures(Features const& v) {
- features_ = v;
- return *this;
- }
+ virtual ~CharReaderBuilder();
virtual CharReader* newCharReader() const;
};
diff --git a/include/json/writer.h b/include/json/writer.h
index 4b8a89c..871287f 100644
--- a/include/json/writer.h
+++ b/include/json/writer.h
@@ -105,9 +105,10 @@
std::string indentation_;
StreamWriterBuilder();
+ virtual ~StreamWriterBuilder();
/// Do not take ownership of sout, but maintain a reference.
- StreamWriter* newStreamWriter(std::ostream* sout) const;
+ virtual StreamWriter* newStreamWriter(std::ostream* sout) const;
};
/** \brief Build a StreamWriter implementation.