mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-05-31 00:04:38 +02:00
cpp: updates README.md
This commit is contained in:
parent
c44c9ab74d
commit
3c75361e5a
@ -13,9 +13,10 @@ On UNIX-like platform, run ./configure && make && sudo make install:
|
|||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
|
|
||||||
On Windows, open msgpack_vc8.vcproj file and build it using batch build. DLLs are built on lib folder, and the headers are built on include folder.
|
On Windows, open msgpack_vc8.vcproj or msgpack_vc2008 file and build it using batch build. DLLs are built on lib folder,
|
||||||
|
and the headers are built on include folder.
|
||||||
|
|
||||||
To use the library in your program, include msgpack.hpp header and link msgpack and msgpackc library.
|
To use the library in your program, include msgpack.hpp header and link "msgpack" library.
|
||||||
|
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
@ -34,15 +35,9 @@ To use the library in your program, include msgpack.hpp header and link msgpack
|
|||||||
msgpack::pack(&buffer, target);
|
msgpack::pack(&buffer, target);
|
||||||
|
|
||||||
// Deserialize the serialized data.
|
// Deserialize the serialized data.
|
||||||
msgpack::zone mempool; // this manages the life of deserialized object
|
msgpack::unpacked msg; // includes memory pool and deserialized object
|
||||||
msgpack::object obj;
|
msgpack::unpack(&msg, sbuf.data(), sbuf.size());
|
||||||
msgpack::unpack_return ret =
|
msgpack::object obj = msg.get();
|
||||||
msgpack::unpack(buffer.data, buffer.size, NULL, &mempool, &obj);
|
|
||||||
|
|
||||||
if(ret != msgapck::UNPACK_SUCCESS) {
|
|
||||||
// error check
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Print the deserialized object to stdout.
|
// Print the deserialized object to stdout.
|
||||||
std::cout << obj << std::endl; // ["Hello," "World!"]
|
std::cout << obj << std::endl; // ["Hello," "World!"]
|
||||||
@ -55,24 +50,24 @@ To use the library in your program, include msgpack.hpp header and link msgpack
|
|||||||
obj.as<int>(); // type is mismatched, msgpack::type_error is thrown
|
obj.as<int>(); // type is mismatched, msgpack::type_error is thrown
|
||||||
}
|
}
|
||||||
|
|
||||||
API document and other example codes are available at the [wiki.](http://msgpack.sourceforge.net/start)
|
API documents and other example codes are available at the [wiki.](http://redmine.msgpack.org/projects/msgpack/wiki)
|
||||||
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Copyright (C) 2008-2010 FURUHASHI Sadayuki
|
Copyright (C) 2008-2010 FURUHASHI Sadayuki
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
Unless required by applicable law or agreed to in writing, software
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
|
|
||||||
See also NOTICE file.
|
See also NOTICE file.
|
||||||
|
|
||||||
|
@ -24,9 +24,7 @@ public class TestMessageUnpackable {
|
|||||||
Image dst = new Image();
|
Image dst = new Image();
|
||||||
|
|
||||||
ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
|
ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
|
||||||
Unpacker pac = new Unpacker(in);
|
dst.messageUnpack(new Unpacker(in));
|
||||||
|
|
||||||
dst.messageUnpack(pac);
|
|
||||||
|
|
||||||
assertEquals(src, dst);
|
assertEquals(src, dst);
|
||||||
}
|
}
|
||||||
|
@ -272,63 +272,63 @@ do { \
|
|||||||
} while(0)
|
} while(0)
|
||||||
|
|
||||||
|
|
||||||
#ifdef msgpack_pack_inline_func_fastint
|
#ifdef msgpack_pack_inline_func_fixint
|
||||||
|
|
||||||
msgpack_pack_inline_func_fastint(_uint8)(msgpack_pack_user x, uint8_t d)
|
msgpack_pack_inline_func_fixint(_uint8)(msgpack_pack_user x, uint8_t d)
|
||||||
{
|
{
|
||||||
unsigned char buf[2] = {0xcc, TAKE8_8(d)};
|
unsigned char buf[2] = {0xcc, TAKE8_8(d)};
|
||||||
msgpack_pack_append_buffer(x, buf, 2);
|
msgpack_pack_append_buffer(x, buf, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
msgpack_pack_inline_func_fastint(_uint16)(msgpack_pack_user x, uint16_t d)
|
msgpack_pack_inline_func_fixint(_uint16)(msgpack_pack_user x, uint16_t d)
|
||||||
{
|
{
|
||||||
unsigned char buf[3];
|
unsigned char buf[3];
|
||||||
buf[0] = 0xcd; _msgpack_store16(&buf[1], d);
|
buf[0] = 0xcd; _msgpack_store16(&buf[1], d);
|
||||||
msgpack_pack_append_buffer(x, buf, 3);
|
msgpack_pack_append_buffer(x, buf, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
msgpack_pack_inline_func_fastint(_uint32)(msgpack_pack_user x, uint32_t d)
|
msgpack_pack_inline_func_fixint(_uint32)(msgpack_pack_user x, uint32_t d)
|
||||||
{
|
{
|
||||||
unsigned char buf[5];
|
unsigned char buf[5];
|
||||||
buf[0] = 0xce; _msgpack_store32(&buf[1], d);
|
buf[0] = 0xce; _msgpack_store32(&buf[1], d);
|
||||||
msgpack_pack_append_buffer(x, buf, 5);
|
msgpack_pack_append_buffer(x, buf, 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
msgpack_pack_inline_func_fastint(_uint64)(msgpack_pack_user x, uint64_t d)
|
msgpack_pack_inline_func_fixint(_uint64)(msgpack_pack_user x, uint64_t d)
|
||||||
{
|
{
|
||||||
unsigned char buf[9];
|
unsigned char buf[9];
|
||||||
buf[0] = 0xcf; _msgpack_store64(&buf[1], d);
|
buf[0] = 0xcf; _msgpack_store64(&buf[1], d);
|
||||||
msgpack_pack_append_buffer(x, buf, 9);
|
msgpack_pack_append_buffer(x, buf, 9);
|
||||||
}
|
}
|
||||||
|
|
||||||
msgpack_pack_inline_func_fastint(_int8)(msgpack_pack_user x, int8_t d)
|
msgpack_pack_inline_func_fixint(_int8)(msgpack_pack_user x, int8_t d)
|
||||||
{
|
{
|
||||||
unsigned char buf[2] = {0xd0, TAKE8_8(d)};
|
unsigned char buf[2] = {0xd0, TAKE8_8(d)};
|
||||||
msgpack_pack_append_buffer(x, buf, 2);
|
msgpack_pack_append_buffer(x, buf, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
msgpack_pack_inline_func_fastint(_int16)(msgpack_pack_user x, int16_t d)
|
msgpack_pack_inline_func_fixint(_int16)(msgpack_pack_user x, int16_t d)
|
||||||
{
|
{
|
||||||
unsigned char buf[3];
|
unsigned char buf[3];
|
||||||
buf[0] = 0xd1; _msgpack_store16(&buf[1], d);
|
buf[0] = 0xd1; _msgpack_store16(&buf[1], d);
|
||||||
msgpack_pack_append_buffer(x, buf, 3);
|
msgpack_pack_append_buffer(x, buf, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
msgpack_pack_inline_func_fastint(_int32)(msgpack_pack_user x, int32_t d)
|
msgpack_pack_inline_func_fixint(_int32)(msgpack_pack_user x, int32_t d)
|
||||||
{
|
{
|
||||||
unsigned char buf[5];
|
unsigned char buf[5];
|
||||||
buf[0] = 0xd2; _msgpack_store32(&buf[1], d);
|
buf[0] = 0xd2; _msgpack_store32(&buf[1], d);
|
||||||
msgpack_pack_append_buffer(x, buf, 5);
|
msgpack_pack_append_buffer(x, buf, 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
msgpack_pack_inline_func_fastint(_int64)(msgpack_pack_user x, int64_t d)
|
msgpack_pack_inline_func_fixint(_int64)(msgpack_pack_user x, int64_t d)
|
||||||
{
|
{
|
||||||
unsigned char buf[9];
|
unsigned char buf[9];
|
||||||
buf[0] = 0xd3; _msgpack_store64(&buf[1], d);
|
buf[0] = 0xd3; _msgpack_store64(&buf[1], d);
|
||||||
msgpack_pack_append_buffer(x, buf, 9);
|
msgpack_pack_append_buffer(x, buf, 9);
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef msgpack_pack_inline_func_fastint
|
#undef msgpack_pack_inline_func_fixint
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user