}
// -----------------------
+JSONFormatter::JSONFormatter(bool p)
+ : m_pretty(p), m_is_pending_string(false)
+{
+ reset();
+}
+
void JSONFormatter::flush(std::ostream& os)
{
finish_pending_string();
m_stack.push_back(n);
}
-JSONFormatter::JSONFormatter(bool p)
- : m_pretty(p), m_is_pending_string(false)
-{
-}
-
void JSONFormatter::open_array_section(const char *name)
{
open_section(name, true);
XMLFormatter::XMLFormatter(bool p)
: m_pretty(p)
{
+ reset();
}
void XMLFormatter::flush(std::ostream& os)
m_ss.clear();
}
+void XMLFormatter::reset()
+{
+ m_ss.clear();
+ m_pending_string.clear();
+ m_sections.clear();
+ m_pending_string_name.clear();
+}
+
void XMLFormatter::open_array_section(const char *name)
{
open_section(name);
virtual ~Formatter();
virtual void flush(std::ostream& os) = 0;
+ virtual void reset() = 0;
virtual void open_array_section(const char *name) = 0;
virtual void open_object_section(const char *name) = 0;
XMLFormatter(bool p=false);
void flush(std::ostream& os);
+ void reset();
void open_array_section(const char *name);
void open_object_section(const char *name);
void close_section();