diff options
Diffstat (limited to 'external_libs/yaml-cpp/include/yaml-cpp/parser.h')
-rw-r--r-- | external_libs/yaml-cpp/include/yaml-cpp/parser.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/external_libs/yaml-cpp/include/yaml-cpp/parser.h b/external_libs/yaml-cpp/include/yaml-cpp/parser.h new file mode 100644 index 00000000..f71cdff4 --- /dev/null +++ b/external_libs/yaml-cpp/include/yaml-cpp/parser.h @@ -0,0 +1,51 @@ +#ifndef PARSER_H_62B23520_7C8E_11DE_8A39_0800200C9A66 +#define PARSER_H_62B23520_7C8E_11DE_8A39_0800200C9A66 + +#if defined(_MSC_VER) || (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 +#pragma once +#endif + + +#include "yaml-cpp/dll.h" +#include "yaml-cpp/noncopyable.h" +#include <ios> +#include <memory> + +namespace YAML +{ + struct Directives; + struct Mark; + struct Token; + class EventHandler; + class Node; + class Scanner; + + class YAML_CPP_API Parser: private noncopyable + { + public: + Parser(); + Parser(std::istream& in); + ~Parser(); + + operator bool() const; + + void Load(std::istream& in); + bool HandleNextDocument(EventHandler& eventHandler); + + bool GetNextDocument(Node& document); // old API only + + void PrintTokens(std::ostream& out); + + private: + void ParseDirectives(); + void HandleDirective(const Token& token); + void HandleYamlDirective(const Token& token); + void HandleTagDirective(const Token& token); + + private: + std::auto_ptr<Scanner> m_pScanner; + std::auto_ptr<Directives> m_pDirectives; + }; +} + +#endif // PARSER_H_62B23520_7C8E_11DE_8A39_0800200C9A66 |