emitterutils.h (2006B)
1 #ifndef EMITTERUTILS_H_62B23520_7C8E_11DE_8A39_0800200C9A66 2 #define EMITTERUTILS_H_62B23520_7C8E_11DE_8A39_0800200C9A66 3 4 #if defined(_MSC_VER) || \ 5 (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \ 6 (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 7 #pragma once 8 #endif 9 10 #include <string> 11 12 #include "emitterstate.h" 13 #include "yaml-cpp/emittermanip.h" 14 #include "yaml-cpp/ostream_wrapper.h" 15 16 namespace YAML { 17 class ostream_wrapper; 18 } // namespace YAML 19 20 namespace YAML { 21 class Binary; 22 23 struct StringFormat { 24 enum value { Plain, SingleQuoted, DoubleQuoted, Literal }; 25 }; 26 27 struct StringEscaping { 28 enum value { None, NonAscii, JSON }; 29 }; 30 31 namespace Utils { 32 StringFormat::value ComputeStringFormat(const std::string& str, 33 EMITTER_MANIP strFormat, 34 FlowType::value flowType, 35 bool escapeNonAscii); 36 37 bool WriteSingleQuotedString(ostream_wrapper& out, const std::string& str); 38 bool WriteDoubleQuotedString(ostream_wrapper& out, const std::string& str, 39 StringEscaping::value stringEscaping); 40 bool WriteLiteralString(ostream_wrapper& out, const std::string& str, 41 std::size_t indent); 42 bool WriteChar(ostream_wrapper& out, char ch, 43 StringEscaping::value stringEscapingStyle); 44 bool WriteComment(ostream_wrapper& out, const std::string& str, 45 std::size_t postCommentIndent); 46 bool WriteAlias(ostream_wrapper& out, const std::string& str); 47 bool WriteAnchor(ostream_wrapper& out, const std::string& str); 48 bool WriteTag(ostream_wrapper& out, const std::string& str, bool verbatim); 49 bool WriteTagWithPrefix(ostream_wrapper& out, const std::string& prefix, 50 const std::string& tag); 51 bool WriteBinary(ostream_wrapper& out, const Binary& binary); 52 } 53 } 54 55 #endif // EMITTERUTILS_H_62B23520_7C8E_11DE_8A39_0800200C9A66