00001 #ifndef TAG_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM 00002 #define TAG_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM 00003 00004 #if defined(_MSC_VER) || (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 00005 #pragma once 00006 #endif 00007 00008 #include <string> 00009 00010 namespace YAML_PM 00011 { 00012 struct Token; 00013 struct Directives; 00014 00015 struct Tag { 00016 enum TYPE { 00017 VERBATIM, PRIMARY_HANDLE, SECONDARY_HANDLE, NAMED_HANDLE, NON_SPECIFIC 00018 }; 00019 00020 Tag(const Token& token); 00021 const std::string Translate(const Directives& directives); 00022 00023 TYPE type; 00024 std::string handle, value; 00025 }; 00026 } 00027 00028 #endif // TAG_H_62B23520_7C8E_11DE_8A39_0800200C9A66_PM