mirror of
https://github.com/open-source-parsers/jsoncpp.git
synced 2025-01-06 00:31:10 +01:00
add all features
This commit is contained in:
parent
3cf9175bde
commit
f757c18ca0
@ -298,12 +298,16 @@ public:
|
|||||||
/** Configuration of this builder.
|
/** Configuration of this builder.
|
||||||
These are case-sensitive.
|
These are case-sensitive.
|
||||||
Available settings (case-sensitive):
|
Available settings (case-sensitive):
|
||||||
- "collectComments": false or true (default=true)
|
- "collectComments": false or true
|
||||||
- TODO: other features ...
|
- "allowComments"
|
||||||
|
- "strictRoot"
|
||||||
|
- "allowDroppedNullPlaceholders"
|
||||||
|
- "allowNumericKeys"
|
||||||
|
|
||||||
You can examine 'settings_` yourself
|
You can examine 'settings_` yourself
|
||||||
to see the defaults. You can also write and read them just like any
|
to see the defaults. You can also write and read them just like any
|
||||||
JSON Value.
|
JSON Value.
|
||||||
\sa setDefaults(Json::Value*)
|
\sa setDefaults()
|
||||||
*/
|
*/
|
||||||
Json::Value settings_;
|
Json::Value settings_;
|
||||||
|
|
||||||
@ -312,7 +316,7 @@ public:
|
|||||||
|
|
||||||
virtual CharReader* newCharReader() const;
|
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'.
|
* otherwise, indicate bad settings via 'invalid'.
|
||||||
*/
|
*/
|
||||||
bool validate(Json::Value* invalid) const;
|
bool validate(Json::Value* invalid) const;
|
||||||
|
@ -99,11 +99,13 @@ public:
|
|||||||
// without a major version bump.
|
// without a major version bump.
|
||||||
/** Configuration of this builder.
|
/** Configuration of this builder.
|
||||||
Available settings (case-sensitive):
|
Available settings (case-sensitive):
|
||||||
- "commentStyle": "None", "Some", or "All" (default="All")
|
- "commentStyle": "None", "Some", or "All"
|
||||||
- "indentation": (default="\t")
|
- "indentation": "<anything>"
|
||||||
But don't trust these docs. You can examine 'settings_` yourself
|
|
||||||
|
You can examine 'settings_` yourself
|
||||||
to see the defaults. You can also write and read them just like any
|
to see the defaults. You can also write and read them just like any
|
||||||
JSON Value.
|
JSON Value.
|
||||||
|
\sa setDefaults()
|
||||||
*/
|
*/
|
||||||
Json::Value settings_;
|
Json::Value settings_;
|
||||||
|
|
||||||
@ -115,7 +117,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
virtual StreamWriter* newStreamWriter(std::ostream* sout) const;
|
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'.
|
* otherwise, indicate bad settings via 'invalid'.
|
||||||
*/
|
*/
|
||||||
bool validate(Json::Value* invalid) const;
|
bool validate(Json::Value* invalid) const;
|
||||||
|
@ -925,13 +925,20 @@ CharReader* CharReaderBuilder::newCharReader() const
|
|||||||
|
|
||||||
bool collectComments = settings_["collectComments"].asBool();
|
bool collectComments = settings_["collectComments"].asBool();
|
||||||
Features features = Features::all();
|
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);
|
return new OldReader(collectComments, features);
|
||||||
}
|
}
|
||||||
static void getValidReaderKeys(std::set<std::string>* valid_keys)
|
static void getValidReaderKeys(std::set<std::string>* valid_keys)
|
||||||
{
|
{
|
||||||
valid_keys->clear();
|
valid_keys->clear();
|
||||||
valid_keys->insert("collectComments");
|
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
|
bool CharReaderBuilder::validate(Json::Value* invalid) const
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user