mv CommentStyle to .cpp
diff --git a/doc/jsoncpp.dox b/doc/jsoncpp.dox
index 563590c..bf29778 100644
--- a/doc/jsoncpp.dox
+++ b/doc/jsoncpp.dox
@@ -92,13 +92,13 @@
 \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
diff --git a/include/json/writer.h b/include/json/writer.h
index c62d080..2b081a7 100644
--- a/include/json/writer.h
+++ b/include/json/writer.h
@@ -41,16 +41,6 @@
 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.
diff --git a/src/lib_json/json_writer.cpp b/src/lib_json/json_writer.cpp
index d00f501..27d5f56 100644
--- a/src/lib_json/json_writer.cpp
+++ b/src/lib_json/json_writer.cpp
@@ -676,11 +676,21 @@
 //////////////////////////
 // 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 @@
 };
 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 @@
 
   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 @@
     endingLineFeedSymbol = "";
   }
   return new BuiltStyledStreamWriter(
-      "", StreamWriter::CommentStyle::None,
+      "", CommentStyle::None,
       colonSymbol, nullSymbol, endingLineFeedSymbol);
 }