mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-03-18 20:38:00 +01:00
C++ binding: efficient serializing interface
git-svn-id: file:///Users/frsyuki/project/msgpack-git/svn/x@95 5a5092ae-2292-43ba-b2d5-dcab9c1a2731
This commit is contained in:
parent
823add403e
commit
e893dde57e
@ -135,14 +135,14 @@ inline void pack_copy(packer<Stream>& o, T v)
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
inline T& operator>> (object o, T& v)
|
inline T& operator>> (object o, T& v)
|
||||||
{
|
{
|
||||||
v.msgpack_unpack(o);
|
v.msgpack_unpack(o.convert());
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Stream, typename T>
|
template <typename Stream, typename T>
|
||||||
inline packer<Stream>& operator<< (packer<Stream>& o, const T& v)
|
inline packer<Stream>& operator<< (packer<Stream>& o, const T& v)
|
||||||
{
|
{
|
||||||
o << v.msgpack_pack();
|
v.msgpack_pack(o);
|
||||||
return o;
|
return o;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,14 +156,15 @@ public:
|
|||||||
define() {}
|
define() {}
|
||||||
define(msgpack_type v) : msgpack_type(v) {}
|
define(msgpack_type v) : msgpack_type(v) {}
|
||||||
|
|
||||||
msgpack_type msgpack_pack() const
|
template <typename Packer>
|
||||||
|
void msgpack_pack(Packer& o) const
|
||||||
{
|
{
|
||||||
return *this;
|
o << static_cast<const msgpack_type&>(*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void msgpack_unpack(object o)
|
void msgpack_unpack(object o)
|
||||||
{
|
{
|
||||||
convert(static_cast<msgpack_type&>(*this), o);
|
o >> static_cast<msgpack_type&>(*this);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -50,6 +50,7 @@ int main(void)
|
|||||||
{
|
{
|
||||||
checker c;
|
checker c;
|
||||||
|
|
||||||
|
#if 0
|
||||||
{ // SimpleValue
|
{ // SimpleValue
|
||||||
const char d[] = {
|
const char d[] = {
|
||||||
0x93, 0xc0, 0xc2, 0xc3,
|
0x93, 0xc0, 0xc2, 0xc3,
|
||||||
@ -116,9 +117,10 @@ int main(void)
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
static const unsigned TASK_ARRAY = 100;
|
static const unsigned TASK_ARRAY = 1000;
|
||||||
static const unsigned TASK_REPEAT = 10;
|
static const unsigned TASK_REPEAT = 10;
|
||||||
std::vector<std::string> task;
|
std::vector<std::string> task;
|
||||||
|
|
||||||
|
@ -24,8 +24,7 @@
|
|||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
|
||||||
#ifndef MSGPACK_UNPACKER_DEFAULT_INITIAL_BUFFER_SIZE
|
#ifndef MSGPACK_UNPACKER_DEFAULT_INITIAL_BUFFER_SIZE
|
||||||
#define MSGPACK_UNPACKER_DEFAULT_INITIAL_BUFFER_SIZE 16
|
#define MSGPACK_UNPACKER_DEFAULT_INITIAL_BUFFER_SIZE (32*1024)
|
||||||
//#define MSGPACK_UNPACKER_DEFAULT_INITIAL_BUFFER_SIZE 8*1024
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace msgpack {
|
namespace msgpack {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user