Implemented binary emitting without the binary tag

This commit is contained in:
jbeder
2010-10-28 21:53:54 +00:00
parent d6e56a0941
commit 24dc58b68d
6 changed files with 85 additions and 0 deletions

View File

@@ -53,6 +53,7 @@ namespace YAML
Emitter& Write(const _Tag& tag);
Emitter& Write(const _Comment& comment);
Emitter& Write(const _Null& null);
Emitter& Write(const _Binary& binary);
template <typename T>
Emitter& WriteIntegralType(T value);
@@ -127,6 +128,7 @@ namespace YAML
inline Emitter& operator << (Emitter& emitter, const _Tag& v) { return emitter.Write(v); }
inline Emitter& operator << (Emitter& emitter, const _Comment& v) { return emitter.Write(v); }
inline Emitter& operator << (Emitter& emitter, const _Null& v) { return emitter.Write(v); }
inline Emitter& operator << (Emitter& emitter, const _Binary& b) { return emitter.Write(b); }
inline Emitter& operator << (Emitter& emitter, const char *v) { return emitter.Write(std::string(v)); }

View File

@@ -111,6 +111,16 @@ namespace YAML
inline _Comment Comment(const std::string content) {
return _Comment(content);
}
struct _Binary {
_Binary(const char *data_, std::size_t size_): data(data_), size(size_) {}
const char *data;
std::size_t size;
};
inline _Binary Binary(const char *data, std::size_t size) {
return _Binary(data, size);
}
}
#endif // EMITTERMANIP_H_62B23520_7C8E_11DE_8A39_0800200C9A66