- Made FastWriter output more compact.
- fixed bug in runjsontests.py script.
diff --git a/include/json/writer.h b/include/json/writer.h
index 3abf2ea..94582d9 100644
--- a/include/json/writer.h
+++ b/include/json/writer.h
@@ -9,21 +9,37 @@
 

    class Value;

 

+   /** \brief Abstract class for writers.

+    */

+   class JSON_API Writer

+   {

+   public:

+      virtual ~Writer();

+

+      virtual std::string write( const Value &root ) = 0;

+   };

+

    /** \brief Outputs a Value in <a HREF="http://www.json.org">JSON</a> format without formatting (not human friendly).

     *

     * The JSON document is written in a single line. It is not intended for 'human' consumption,

     * but may be usefull to support feature such as RPC where bandwith is limited.

     * \sa Reader, Value

     */

-   class JSON_API FastWriter

+   class JSON_API FastWriter : public Writer

    {

    public:

-      std::string write( const Value &root );

+      FastWriter();

+

+      void enableYAMLCompatibility();

+

+   public: // overridden from Writer

+      virtual std::string write( const Value &root );

 

    private:

       void writeValue( const Value &value );

 

       std::string document_;

+      bool yamlCompatiblityEnabled_;

    };

 

    /** \brief Writes a Value in <a HREF="http://www.json.org">JSON</a> format in a human friendly way.

@@ -49,11 +65,12 @@
    public:

       StyledWriter();

 

+   public: // overridden from Writer

       /** \brief Serialize a Value in <a HREF="http://www.json.org">JSON</a> format.

        * \param root Value to serialize.

        * \return String containing the JSON document that represent the root value.

        */

-      std::string write( const Value &root );

+      virtual std::string write( const Value &root );

 

    private:

       void writeValue( const Value &value );