change msgpack to 3.1.0 to remove boost dependency

This commit is contained in:
qicosmos
2021-06-29 23:00:52 +08:00
parent b7936d83c5
commit 98262e4b0a
472 changed files with 49491 additions and 1011 deletions
+27 -6
View File
@@ -352,8 +352,8 @@ struct object_pack_visitor {
return true;
}
bool visit_ext(const char* v, uint32_t size) {
m_packer.pack_ext(size - 1, static_cast<int8_t>(*v));
m_packer.pack_ext_body(v + 1, size - 1);
m_packer.pack_ext(size, *v);
m_packer.pack_ext_body(v, size);
return true;
}
bool start_array(uint32_t num_elements) {
@@ -467,7 +467,7 @@ struct object_stringize_visitor {
return true;
}
bool visit_bin(const char* v, uint32_t size) {
(m_os << '"').write(v, static_cast<std::streamsize>(size)) << '"';
(m_os << '"').write(v, size) << '"';
return true;
}
bool visit_ext(const char* /*v*/, uint32_t /*size*/) {
@@ -527,7 +527,7 @@ private:
};
struct aligned_zone_size_visitor {
explicit aligned_zone_size_visitor(std::size_t& s)
explicit aligned_zone_size_visitor(std::size_t s)
:m_size(s) {}
bool visit_nil() {
return true;
@@ -596,7 +596,7 @@ struct aligned_zone_size_visitor {
return true;
}
private:
std::size_t& m_size;
std::size_t m_size;
};
inline std::size_t aligned_zone_size(msgpack::object const& obj) {
@@ -938,7 +938,7 @@ struct object_equal_visitor {
}
bool visit_ext(const char* v, uint32_t size) {
if (m_ptr->type != msgpack::type::EXT ||
m_ptr->via.ext.size != size - 1 ||
m_ptr->via.ext.size != size ||
std::memcmp(m_ptr->via.ext.ptr, v, size) != 0) {
m_result = false;
return false;
@@ -1168,6 +1168,27 @@ inline object::object(const T& v, msgpack::zone* z)
}
inline object::object(const msgpack_object& o)
{
// FIXME beter way?
std::memcpy(this, &o, sizeof(o));
}
inline void operator<< (msgpack::object& o, const msgpack_object& v)
{
// FIXME beter way?
std::memcpy(static_cast<void*>(&o), &v, sizeof(v));
}
inline object::operator msgpack_object() const
{
// FIXME beter way?
msgpack_object obj;
std::memcpy(&obj, this, sizeof(obj));
return obj;
}
// obsolete
template <typename T>
inline void convert(T& v, msgpack::object const& o)