1#ifndef TAG_H_62B23520_7C8E_11DE_8A39_0800200C9A66
2#define TAG_H_62B23520_7C8E_11DE_8A39_0800200C9A66
3
4#if defined(_MSC_VER) || (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4
5#pragma once
6#endif
7
8#include <string>
9
10namespace YAML
11{
12	struct Token;
13	struct Directives;
14
15	struct Tag {
16		enum TYPE {
17			VERBATIM, PRIMARY_HANDLE, SECONDARY_HANDLE, NAMED_HANDLE, NON_SPECIFIC
18		};
19
20		Tag(const Token& token);
21		const std::string Translate(const Directives& directives);
22
23		TYPE type;
24		std::string handle, value;
25	};
26}
27
28#endif // TAG_H_62B23520_7C8E_11DE_8A39_0800200C9A66
29