yaml-cpp

FORK: A YAML parser and emitter in C++
git clone https://git.neptards.moe/neptards/yaml-cpp.git
Log | Files | Refs | README | LICENSE

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