mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-10 04:51:17 +00:00
Added directives and tags.
This commit is contained in:
15
token.h
15
token.h
@@ -1,6 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include <ios>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
namespace YAML
|
||||
{
|
||||
@@ -17,6 +19,13 @@ namespace YAML
|
||||
|
||||
struct StreamStartToken: public Token {};
|
||||
struct StreamEndToken: public Token {};
|
||||
struct DirectiveToken: public Token {
|
||||
std::string name;
|
||||
std::vector <std::string> params;
|
||||
|
||||
virtual void Write(std::ostream& out) const { out << name; for(unsigned i=0;i<params.size();i++) out << " " << params[i]; }
|
||||
};
|
||||
|
||||
struct DocumentStartToken: public Token {};
|
||||
struct DocumentEndToken: public Token {};
|
||||
|
||||
@@ -40,6 +49,12 @@ namespace YAML
|
||||
virtual void Write(std::ostream& out) const { out << (alias ? '*' : '&') << value; }
|
||||
};
|
||||
|
||||
struct TagToken: public Token {
|
||||
std::string handle, suffix;
|
||||
|
||||
virtual void Write(std::ostream& out) const { out << "!" << handle << "!" << suffix; }
|
||||
};
|
||||
|
||||
struct ScalarToken: public Token {
|
||||
std::string value;
|
||||
virtual void Write(std::ostream& out) const { out << value; }
|
||||
|
Reference in New Issue
Block a user