#pragma once #include "content.h" #include namespace YAML { class Node; class Map: public Content { public: Map(); virtual ~Map(); void Clear(); virtual bool GetBegin(std::map ::const_iterator& it) const; virtual bool GetEnd(std::map ::const_iterator& it) const; virtual void Parse(Scanner *pScanner, const ParserState& state); virtual void Write(std::ostream& out, int indent); private: void ParseBlock(Scanner *pScanner, const ParserState& state); void ParseFlow(Scanner *pScanner, const ParserState& state); protected: typedef std::map node_map; node_map m_data; }; }