hessian2/string_writer.hpp (19 lines of code) (raw):

#pragma once #include "absl/strings/string_view.h" #include "hessian2/writer.hpp" namespace Hessian2 { class StringWriter : public Writer { public: StringWriter(std::string& data) : data_(data) {} ~StringWriter() = default; virtual void rawWrite(const void* data, uint64_t size) { const char* src = static_cast<const char*>(data); data_.append(src, size); } virtual void rawWrite(absl::string_view data) { data_.append(data.data(), data.size()); } private: std::string& data_; }; } // namespace Hessian2