- added Features class that describes allowed extension for Reader, to allow for strict configuration
- added tests from json.org jsonchecker and modified jsontestrunner to use strict parsing mode when executing them
diff --git a/include/json/features.h b/include/json/features.h
new file mode 100644
index 0000000..f1404f6
--- /dev/null
+++ b/include/json/features.h
@@ -0,0 +1,42 @@
+#ifndef CPPTL_JSON_FEATURES_H_INCLUDED

+# define CPPTL_JSON_FEATURES_H_INCLUDED

+

+# include "forwards.h"

+

+namespace Json {

+

+   /** \brief Configuration passed to reader and writer.

+    * This configuration object can be used to force the Reader or Writer

+    * to behave in a standard conforming way.

+    */

+   class JSON_API Features

+   {

+   public:

+      /** \brief A configuration that allows all features and assumes all strings are UTF-8.

+       * - C & C++ comments are allowed

+       * - Root object can be any JSON value

+       * - Assumes Value strings are encoded in UTF-8

+       */

+      static Features all();

+

+      /** \brief A configuration that is strictly compatible with the JSON specification.

+       * - Comments are forbidden.

+       * - Root object must be either an array or an object value.

+       * - Assumes Value strings are encoded in UTF-8

+       */

+      static Features strictMode();

+

+      /** \brief Initialize the configuration like JsonConfig::allFeatures;

+       */

+      Features();

+

+      /// \c true if comments are allowed. Default: \c true.

+      bool allowComments_;

+

+      /// \c true if root must be either an array or an object value. Default: \c false.

+      bool strictRoot_;

+   };

+

+} // namespace Json

+

+#endif // CPPTL_JSON_FEATURES_H_INCLUDED