/** Configuration of this builder.
These are case-sensitive.
Available settings (case-sensitive):
- - "collectComments": false or true (default=true)
- - TODO: other features ...
+ - "collectComments": false or true
+ - "allowComments"
+ - "strictRoot"
+ - "allowDroppedNullPlaceholders"
+ - "allowNumericKeys"
+
You can examine 'settings_` yourself
to see the defaults. You can also write and read them just like any
JSON Value.
- \sa setDefaults(Json::Value*)
+ \sa setDefaults()
*/
Json::Value settings_;
virtual CharReader* newCharReader() const;
- /** \return true if 'settings' are illegal and consistent;
+ /** \return true if 'settings' are legal and consistent;
* otherwise, indicate bad settings via 'invalid'.
*/
bool validate(Json::Value* invalid) const;
// without a major version bump.
/** Configuration of this builder.
Available settings (case-sensitive):
- - "commentStyle": "None", "Some", or "All" (default="All")
- - "indentation": (default="\t")
- But don't trust these docs. You can examine 'settings_` yourself
+ - "commentStyle": "None", "Some", or "All"
+ - "indentation": "<anything>"
+
+ You can examine 'settings_` yourself
to see the defaults. You can also write and read them just like any
JSON Value.
+ \sa setDefaults()
*/
Json::Value settings_;
*/
virtual StreamWriter* newStreamWriter(std::ostream* sout) const;
- /** \return true if 'settings' are illegal and consistent;
+ /** \return true if 'settings' are legal and consistent;
* otherwise, indicate bad settings via 'invalid'.
*/
bool validate(Json::Value* invalid) const;
bool collectComments = settings_["collectComments"].asBool();
Features features = Features::all();
- // TODO: Fill in features.
+ features.allowComments_ = settings_["allowComments"].asBool();
+ features.strictRoot_ = settings_["strictRoot"].asBool();
+ features.allowDroppedNullPlaceholders_ = settings_["allowDroppedNullPlaceholders"].asBool();
+ features.allowNumericKeys_ = settings_["allowNumericKeys"].asBool();
return new OldReader(collectComments, features);
}
static void getValidReaderKeys(std::set<std::string>* valid_keys)
{
valid_keys->clear();
valid_keys->insert("collectComments");
+ valid_keys->insert("allowComments");
+ valid_keys->insert("strictRoot");
+ valid_keys->insert("allowDroppedNullPlaceholders");
+ valid_keys->insert("allowNumericKeys");
}
bool CharReaderBuilder::validate(Json::Value* invalid) const
{