mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-10-17 03:03:24 +02:00
Modified zone* to zone&.
This commit is contained in:
@@ -31,7 +31,7 @@ void test_map_pack_unpack() {
|
||||
std::cout << "Start unpacking..." << std::endl;
|
||||
{
|
||||
boost::timer::cpu_timer timer;
|
||||
msgpack::unpack(str.data(), str.size(), NULL, &mempool, deserialized);
|
||||
msgpack::unpack(str.data(), str.size(), NULL, mempool, deserialized);
|
||||
std::string result = timer.format();
|
||||
std::cout << result << std::endl;
|
||||
}
|
||||
|
@@ -50,8 +50,9 @@ namespace detail {
|
||||
|
||||
class unpack_user {
|
||||
public:
|
||||
zone* z() const { return z_; }
|
||||
void set_z(zone* z) { z_ = z; }
|
||||
zone const& z() const { return *z_; }
|
||||
zone& z() { return *z_; }
|
||||
void set_z(zone& z) { z_ = &z; }
|
||||
bool referenced() const { return referenced_; }
|
||||
void set_referenced(bool referenced) { referenced_ = referenced; }
|
||||
private:
|
||||
@@ -109,7 +110,7 @@ inline int template_callback_array(unpack_user* u, unsigned int n, object& o)
|
||||
{
|
||||
o.type = type::ARRAY;
|
||||
o.via.array.size = 0;
|
||||
o.via.array.ptr = (object*)u->z()->malloc(n*sizeof(object));
|
||||
o.via.array.ptr = (object*)u->z().malloc(n*sizeof(object));
|
||||
if(o.via.array.ptr == NULL) { return -1; }
|
||||
return 0;
|
||||
}
|
||||
@@ -121,7 +122,7 @@ inline int template_callback_map(unpack_user* u, unsigned int n, object& o)
|
||||
{
|
||||
o.type = type::MAP;
|
||||
o.via.map.size = 0;
|
||||
o.via.map.ptr = (object_kv*)u->z()->malloc(n*sizeof(object_kv));
|
||||
o.via.map.ptr = (object_kv*)u->z().malloc(n*sizeof(object_kv));
|
||||
if(o.via.map.ptr == NULL) { return -1; }
|
||||
return 0;
|
||||
}
|
||||
@@ -684,7 +685,7 @@ typedef enum {
|
||||
|
||||
// obsolete
|
||||
static unpack_return unpack(const char* data, size_t len, size_t* off,
|
||||
zone* z, object& result);
|
||||
zone& z, object& result);
|
||||
|
||||
|
||||
// obsolete
|
||||
@@ -719,7 +720,7 @@ inline unpacker::unpacker(size_t initial_buffer_size)
|
||||
detail::init_count(buffer_);
|
||||
|
||||
ctx_.init();
|
||||
ctx_.user().set_z(z_);
|
||||
ctx_.user().set_z(*z_);
|
||||
ctx_.user().set_referenced(false);
|
||||
}
|
||||
|
||||
@@ -876,7 +877,7 @@ inline zone* unpacker::release_zone()
|
||||
|
||||
zone* old = z_;
|
||||
z_ = r;
|
||||
ctx_.user().set_z(z_);
|
||||
ctx_.user().set_z(*z_);
|
||||
|
||||
return old;
|
||||
}
|
||||
@@ -943,7 +944,7 @@ namespace detail {
|
||||
|
||||
inline unpack_return
|
||||
unpack_imp(const char* data, size_t len, size_t* off,
|
||||
zone* result_zone, object& result)
|
||||
zone& result_zone, object& result)
|
||||
{
|
||||
size_t noff = 0;
|
||||
if(off != NULL) { noff = *off; }
|
||||
@@ -988,7 +989,7 @@ inline void unpack(unpacked* result,
|
||||
msgpack::unique_ptr<zone> z(new zone());
|
||||
|
||||
unpack_return ret = detail::unpack_imp(
|
||||
data, len, offset, z.get(), obj);
|
||||
data, len, offset, *z, obj);
|
||||
|
||||
|
||||
switch(ret) {
|
||||
@@ -1014,7 +1015,7 @@ inline void unpack(unpacked* result,
|
||||
|
||||
// obsolete
|
||||
inline unpack_return unpack(const char* data, size_t len, size_t* off,
|
||||
zone* z, object& result)
|
||||
zone& z, object& result)
|
||||
{
|
||||
return detail::unpack_imp(data, len, off,
|
||||
z, result);
|
||||
@@ -1025,7 +1026,7 @@ inline object unpack(const char* data, size_t len, zone& z, size_t* off)
|
||||
{
|
||||
object result;
|
||||
|
||||
switch( unpack(data, len, off, &z, result) ) {
|
||||
switch( unpack(data, len, off, z, result) ) {
|
||||
case UNPACK_SUCCESS:
|
||||
return result;
|
||||
|
||||
|
@@ -38,7 +38,7 @@ const double kEPS = 1e-10;
|
||||
msgpack::zone z; \
|
||||
msgpack::object obj; \
|
||||
msgpack::unpack_return ret = \
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj); \
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj); \
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret); \
|
||||
test_type val2; \
|
||||
obj.convert(&val2); \
|
||||
@@ -165,7 +165,7 @@ TEST(MSGPACK, simple_buffer_float)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
float val2;
|
||||
obj.convert(&val2);
|
||||
@@ -255,7 +255,7 @@ TEST(MSGPACK, simple_buffer_double)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
double val2;
|
||||
obj.convert(&val2);
|
||||
@@ -277,7 +277,7 @@ TEST(MSGPACK, simple_buffer_true)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
bool val2;
|
||||
obj.convert(&val2);
|
||||
@@ -292,7 +292,7 @@ TEST(MSGPACK, simple_buffer_false)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
bool val2;
|
||||
obj.convert(&val2);
|
||||
@@ -314,7 +314,7 @@ TEST(MSGPACK_STL, simple_buffer_string)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
string val2;
|
||||
obj.convert(&val2);
|
||||
@@ -334,7 +334,7 @@ TEST(MSGPACK_STL, simple_buffer_vector)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
vector<int> val2;
|
||||
obj.convert(&val2);
|
||||
@@ -354,7 +354,7 @@ TEST(MSGPACK_STL, simple_buffer_map)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
map<int, int> val2;
|
||||
obj.convert(&val2);
|
||||
@@ -374,7 +374,7 @@ TEST(MSGPACK_STL, simple_buffer_deque)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
deque<int> val2;
|
||||
obj.convert(&val2);
|
||||
@@ -394,7 +394,7 @@ TEST(MSGPACK_STL, simple_buffer_list)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
list<int> val2;
|
||||
obj.convert(&val2);
|
||||
@@ -414,7 +414,7 @@ TEST(MSGPACK_STL, simple_buffer_set)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
set<int> val2;
|
||||
obj.convert(&val2);
|
||||
@@ -432,7 +432,7 @@ TEST(MSGPACK_STL, simple_buffer_pair)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
pair<int, int> val2;
|
||||
obj.convert(&val2);
|
||||
@@ -455,7 +455,7 @@ TEST(MSGPACK_STL, simple_buffer_multimap)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
multimap<int, int> val2;
|
||||
obj.convert(&val2);
|
||||
@@ -485,7 +485,7 @@ TEST(MSGPACK_STL, simple_buffer_multiset)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
multiset<int> val2;
|
||||
obj.convert(&val2);
|
||||
@@ -520,7 +520,7 @@ TEST(MSGPACK_TR1, simple_buffer_tr1_unordered_map)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
tr1::unordered_map<int, int> val2;
|
||||
obj.convert(&val2);
|
||||
@@ -547,7 +547,7 @@ TEST(MSGPACK_TR1, simple_buffer_tr1_unordered_multimap)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
tr1::unordered_multimap<int, int> val2;
|
||||
obj.convert(&val2);
|
||||
@@ -581,7 +581,7 @@ TEST(MSGPACK_TR1, simple_buffer_tr1_unordered_set)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
tr1::unordered_set<int> val2;
|
||||
obj.convert(&val2);
|
||||
@@ -603,7 +603,7 @@ TEST(MSGPACK_TR1, simple_buffer_tr1_unordered_multiset)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
tr1::unordered_multiset<int> val2;
|
||||
obj.convert(&val2);
|
||||
@@ -760,7 +760,7 @@ TEST(MSGPACK_USER_DEFINED, simple_buffer_class)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
TestClass val2;
|
||||
val2.i = -1;
|
||||
@@ -793,7 +793,7 @@ TEST(MSGPACK_USER_DEFINED, simple_buffer_class_old_to_new)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
TestClass2 val2;
|
||||
val2.i = -1;
|
||||
@@ -815,7 +815,7 @@ TEST(MSGPACK_USER_DEFINED, simple_buffer_class_new_to_old)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
TestClass val2;
|
||||
val2.i = -1;
|
||||
@@ -856,7 +856,7 @@ TEST(MSGPACK_USER_DEFINED, simple_buffer_enum_member)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
TestEnumMemberClass val2;
|
||||
val2.t1 = TestEnumMemberClass::STATE_INVALID;
|
||||
@@ -919,7 +919,7 @@ TEST(MSGPACK_USER_DEFINED, simple_buffer_union_member)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
TestUnionMemberClass val2;
|
||||
obj.convert(&val2);
|
||||
@@ -934,7 +934,7 @@ TEST(MSGPACK_USER_DEFINED, simple_buffer_union_member)
|
||||
msgpack::zone z;
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret);
|
||||
TestUnionMemberClass val2;
|
||||
obj.convert(&val2);
|
||||
@@ -962,7 +962,7 @@ TEST(MSGPACK_USER_DEFINED, simple_buffer_union_member)
|
||||
msgpack::zone z; \
|
||||
msgpack::object obj; \
|
||||
msgpack::unpack_return ret = \
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj); \
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj); \
|
||||
EXPECT_EQ(msgpack::UNPACK_SUCCESS, ret); \
|
||||
test_type val2; \
|
||||
obj.convert(&val2); \
|
||||
|
@@ -37,7 +37,7 @@ TEST(object, convert)
|
||||
msgpack::object obj;
|
||||
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(ret, msgpack::UNPACK_SUCCESS);
|
||||
|
||||
myclass m2;
|
||||
@@ -58,7 +58,7 @@ TEST(object, as)
|
||||
msgpack::object obj;
|
||||
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
EXPECT_EQ(ret, msgpack::UNPACK_SUCCESS);
|
||||
|
||||
EXPECT_EQ(m1, obj.as<myclass>());
|
||||
|
@@ -60,7 +60,7 @@ TEST(unpack, myclass)
|
||||
msgpack::object obj;
|
||||
|
||||
msgpack::unpack_return ret =
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, &z, obj);
|
||||
msgpack::unpack(sbuf.data(), sbuf.size(), NULL, z, obj);
|
||||
|
||||
EXPECT_EQ(ret, msgpack::UNPACK_SUCCESS);
|
||||
|
||||
@@ -105,17 +105,17 @@ TEST(unpack, sequence_compat)
|
||||
msgpack::object obj;
|
||||
msgpack::unpack_return ret;
|
||||
|
||||
ret = msgpack::unpack(sbuf.data(), sbuf.size(), &offset, &z, obj);
|
||||
ret = msgpack::unpack(sbuf.data(), sbuf.size(), &offset, z, obj);
|
||||
EXPECT_TRUE(ret >= 0);
|
||||
EXPECT_EQ(ret, msgpack::UNPACK_EXTRA_BYTES);
|
||||
EXPECT_EQ(1, obj.as<int>());
|
||||
|
||||
ret = msgpack::unpack(sbuf.data(), sbuf.size(), &offset, &z, obj);
|
||||
ret = msgpack::unpack(sbuf.data(), sbuf.size(), &offset, z, obj);
|
||||
EXPECT_TRUE(ret >= 0);
|
||||
EXPECT_EQ(ret, msgpack::UNPACK_EXTRA_BYTES);
|
||||
EXPECT_EQ(2, obj.as<int>());
|
||||
|
||||
ret = msgpack::unpack(sbuf.data(), sbuf.size(), &offset, &z, obj);
|
||||
ret = msgpack::unpack(sbuf.data(), sbuf.size(), &offset, z, obj);
|
||||
EXPECT_TRUE(ret >= 0);
|
||||
EXPECT_EQ(ret, msgpack::UNPACK_SUCCESS);
|
||||
EXPECT_EQ(3, obj.as<int>());
|
||||
|
Reference in New Issue
Block a user