mv CommentStyle to .cpp
authorChristopher Dunn <cdunn2001@gmail.com>
Tue, 10 Feb 2015 00:48:45 +0000 (18:48 -0600)
committerChristopher Dunn <cdunn2001@gmail.com>
Tue, 10 Feb 2015 00:54:58 +0000 (18:54 -0600)
doc/jsoncpp.dox
include/json/writer.h
src/lib_json/json_writer.cpp

index 563590c..bf29778 100644 (file)
@@ -92,13 +92,13 @@ features without losing binary-compatibility.
 \code
 // For convenience, use `writeString()` with a specialized builder.
 Json::StreamWriterBuilder wbuilder;
-wbuilder.settings_["indentation"] = "\t";
+wbuilder.settings_["indentation"] = "\t";  // simple Json::Value
 std::string document = Json::writeString(wbuilder, root);
 
 // Here, using a specialized Builder, we discard comments and
 // record errors as we parse.
 Json::CharReaderBuilder rbuilder;
-rbuilder.settings_["collectComments"] = false;
+rbuilder.settings_["collectComments"] = false;  // simple Json::Value
 std::string errs;
 bool ok = Json::parseFromStream(rbuilder, std::cin, &root, &errs);
 \endcode
index c62d080..2b081a7 100644 (file)
@@ -41,16 +41,6 @@ class JSON_API StreamWriter {
 protected:
   std::ostream* sout_;  // not owned; will not delete
 public:
-  /// Scoped enums are not available until C++11.
-  struct CommentStyle {
-    /// Decide whether to write comments.
-    enum Enum {
-      None,  ///< Drop all comments.
-      Most,  ///< Recover odd behavior of previous versions (not implemented yet).
-      All  ///< Keep all comments.
-    };
-  };
-
   StreamWriter();
   virtual ~StreamWriter();
   /** Write Value into document as configured in sub-class.
index d00f501..27d5f56 100644 (file)
@@ -676,11 +676,21 @@ bool StyledStreamWriter::hasCommentForValue(const Value& value) {
 //////////////////////////
 // BuiltStyledStreamWriter
 
+/// Scoped enums are not available until C++11.
+struct CommentStyle {
+  /// Decide whether to write comments.
+  enum Enum {
+    None,  ///< Drop all comments.
+    Most,  ///< Recover odd behavior of previous versions (not implemented yet).
+    All  ///< Keep all comments.
+  };
+};
+
 struct BuiltStyledStreamWriter : public StreamWriter
 {
   BuiltStyledStreamWriter(
       std::string const& indentation,
-      StreamWriter::CommentStyle::Enum cs,
+      CommentStyle::Enum cs,
       std::string const& colonSymbol,
       std::string const& nullSymbol,
       std::string const& endingLineFeedSymbol);
@@ -713,7 +723,7 @@ private:
 };
 BuiltStyledStreamWriter::BuiltStyledStreamWriter(
       std::string const& indentation,
-      StreamWriter::CommentStyle::Enum cs,
+      CommentStyle::Enum cs,
       std::string const& colonSymbol,
       std::string const& nullSymbol,
       std::string const& endingLineFeedSymbol)
@@ -963,11 +973,11 @@ StreamWriter* StreamWriterBuilder::newStreamWriter() const
 
   std::string indentation = settings_["indentation"].asString();
   std::string cs_str = settings_["commentStyle"].asString();
-  StreamWriter::CommentStyle::Enum cs = StreamWriter::CommentStyle::All;
+  CommentStyle::Enum cs = CommentStyle::All;
   if (cs_str == "All") {
-    cs = StreamWriter::CommentStyle::All;
+    cs = CommentStyle::All;
   } else if (cs_str == "None") {
-    cs = StreamWriter::CommentStyle::None;
+    cs = CommentStyle::None;
   } else {
     return NULL;
   }
@@ -1031,7 +1041,7 @@ StreamWriter* OldCompressingStreamWriterBuilder::newStreamWriter() const
     endingLineFeedSymbol = "";
   }
   return new BuiltStyledStreamWriter(
-      "", StreamWriter::CommentStyle::None,
+      "", CommentStyle::None,
       colonSymbol, nullSymbol, endingLineFeedSymbol);
 }