나는 이것을 수행하는 방법에 대해 잘 모르기 때문에 C++에서 msgpack을 사용하여 ext 유형을 팩하는 방법을 샘플을 찾고 있습니다.Msgpack을 사용하여 C++의 Extension 유형을 포장하십시오.
내가 본 유일한 정보는이 섹션 https://github.com/msgpack/msgpack-c/wiki/v2_0_cpp_packer#pack-manually에 있습니다.
가정 해 보겠습니다. Foo 유형의 객체를 어댑터 클래스 템플릿이있는 msgpack ext 유형으로 패킹하려고합니다. pack_ext
과 pack_ext_body
을 어떻게 사용합니까? 템플릿 내에서 "하위 패 커"를 만들고, 수동으로 Foo 데이터를 압축 한 다음 이진 데이터의 크기와 데이터 자체를 pack_ext
및 pack_ext_body
으로 전달해야합니까? C++ 전문가가 최소한의 예제를 줄 수 있다면 그것은 창조적 인 것입니다.
MSGPACK_API_VERSION_NAMESPACE(MSGPACK_DEFAULT_API_NS) {
namespace adaptor {
template<>
struct pack<Foo> {
template <typename Stream>
packer<Stream>& operator()(msgpack::packer<Stream>& o, Foo const& v) const {
// how to use ?
o.pack_ext(size_t l, int8_t type);
o.pack_ext_body(const char* b, size_t l);
}
}
}
} 사전에
감사합니다!