1 #ifndef PARSER_H_62B23520_7C8E_11DE_8A39_0800200C9A66
2 #define PARSER_H_62B23520_7C8E_11DE_8A39_0800200C9A66
4 #if !defined(__GNUC__) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ >= 4) // GCC supports "pragma once" correctly since 3.4
9 #include "yaml-cpp/dll.h"
10 #include "yaml-cpp/noncopyable.h"
23 class YAML_CPP_API Parser
: private noncopyable
27 Parser(std::istream
& in
);
30 operator bool() const;
32 void Load(std::istream
& in
);
33 bool HandleNextDocument(EventHandler
& eventHandler
);
35 bool GetNextDocument(Node
& document
);
36 void PrintTokens(std::ostream
& out
);
39 void ParseDirectives();
40 void HandleDirective(const Token
& token
);
41 void HandleYamlDirective(const Token
& token
);
42 void HandleTagDirective(const Token
& token
);
45 std::auto_ptr
<Scanner
> m_pScanner
;
46 std::auto_ptr
<Directives
> m_pDirectives
;
50 #endif // PARSER_H_62B23520_7C8E_11DE_8A39_0800200C9A66