Files
yaml-cpp/token.h
T

43 lines
1.2 KiB
C++
Raw Normal View History

2008-06-26 09:05:28 +00:00
#pragma once
2008-06-27 20:54:43 +00:00
#include <ios>
2008-06-26 09:05:28 +00:00
namespace YAML
{
2008-06-27 20:54:43 +00:00
struct Token {
2008-06-28 06:36:59 +00:00
Token(): isValid(true), isPossible(true) {}
2008-06-27 20:54:43 +00:00
virtual ~Token() {}
virtual void Write(std::ostream& out) const {}
2008-06-26 19:30:11 +00:00
2008-06-27 20:54:43 +00:00
friend std::ostream& operator << (std::ostream& out, const Token& token) { token.Write(out); return out; }
2008-06-28 06:36:59 +00:00
bool isValid, isPossible;
};
2008-06-27 20:54:43 +00:00
struct StreamStartToken: public Token {};
struct StreamEndToken: public Token {};
struct DocumentStartToken: public Token {};
struct DocumentEndToken: public Token {};
struct BlockSeqStartToken: public Token {};
struct BlockMapStartToken: public Token {};
struct BlockEndToken: public Token {};
struct BlockEntryToken: public Token {};
struct FlowSeqStartToken: public Token {};
struct FlowMapStartToken: public Token {};
struct FlowSeqEndToken: public Token {};
struct FlowMapEndToken: public Token {};
struct FlowEntryToken: public Token {};
struct KeyToken: public Token {};
struct ValueToken: public Token {};
struct ScalarToken: public Token {
std::string value;
virtual void Write(std::ostream& out) const { out << value; }
};
struct PlainScalarToken: public ScalarToken {};
struct QuotedScalarToken: public ScalarToken {};
2008-06-26 09:05:28 +00:00
}