stop calling validate() in newReader/Writer() 1.4.0
authorChristopher Dunn <cdunn2001@gmail.com>
Wed, 11 Feb 2015 17:15:32 +0000 (11:15 -0600)
committerChristopher Dunn <cdunn2001@gmail.com>
Wed, 11 Feb 2015 17:15:32 +0000 (11:15 -0600)
By not calling validate(), we can add
non-invasive features which will be simply ignored when user-code
is compiled against an old version. That way, we can often
avoid a minor version-bump.

The user can call validate() himself if he prefers that behavior.

src/lib_json/json_reader.cpp
src/lib_json/json_writer.cpp

index 1e7db68..103bf67 100644 (file)
@@ -1863,9 +1863,6 @@ CharReaderBuilder::~CharReaderBuilder()
 {}
 CharReader* CharReaderBuilder::newCharReader() const
 {
-  if (!validate(NULL)) throw std::runtime_error("invalid settings");
-  // TODO: Maybe serialize the invalid settings into the exception.
-
   bool collectComments = settings_["collectComments"].asBool();
   OurFeatures features = OurFeatures::all();
   features.allowComments_ = settings_["allowComments"].asBool();
index ca62c78..29f6619 100644 (file)
@@ -968,9 +968,6 @@ StreamWriterBuilder::~StreamWriterBuilder()
 {}
 StreamWriter* StreamWriterBuilder::newStreamWriter() const
 {
-  if (!validate(NULL)) throw std::runtime_error("invalid settings");
-  // TODO: Maybe serialize the invalid settings into the exception.
-
   std::string indentation = settings_["indentation"].asString();
   std::string cs_str = settings_["commentStyle"].asString();
   bool eyc = settings_["enableYAMLCompatibility"].asBool();