diff options
| author | frsyuki <frsyuki@users.sourceforge.jp> | 2010-04-18 00:39:23 +0900 |
|---|---|---|
| committer | frsyuki <frsyuki@users.sourceforge.jp> | 2010-04-18 00:39:23 +0900 |
| commit | 58854fdae90e428d9ab18bc3f457f1eb0b447446 (patch) | |
| tree | d5198ec4f00856f68d1535b2c4fc06856c7b0111 /cpp | |
| parent | fd31ff772f68bda457f95f773b02914c05703ce4 (diff) | |
| download | msgpack-python-58854fdae90e428d9ab18bc3f457f1eb0b447446.tar.gz | |
cpp: add cpp/README.md
Diffstat (limited to 'cpp')
| -rw-r--r-- | cpp/README.md | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/cpp/README.md b/cpp/README.md new file mode 100644 index 0000000..cc1ba38 --- /dev/null +++ b/cpp/README.md @@ -0,0 +1,78 @@ +MessagePack for C/C++ +===================== +Binary-based efficient object serialization library. + + +## Installation + +Download latest package from [releases of MessagePack](http://sourceforge.net/projects/msgpack/files/) and extract it. + +On UNIX-like platform, run ./configure && make && sudo make install: + + $ ./configure + $ make + $ 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. + +To use the library in your program, include msgpack.hpp header and link msgpack and msgpackc library. + + +## Example + + #include <msgpack.hpp> + #include <vector> + + int main(void) { + // This is target object. + std::vector<std::string> target; + target.push_back("Hello,"); + target.push_back("World!"); + + // Serialize it. + msgpack::sbuffer buffer; // simple buffer + msgpack::pack(&buffer, target); + + // Deserialize the serialized data. + msgpack::zone mempool; // this manages the life of deserialized object + msgpack::object obj; + msgpack::unpack_return ret = + msgpack::unpack(buffer.data, buffer.size, NULL, &mempool, &obj); + + if(ret != msgapck::UNPACK_SUCCESS) { + // error check + exit(1); + } + + // Print the deserialized object to stdout. + std::cout << obj << std::endl; // ["Hello," "World!"] + + // Convert the deserialized object to staticaly typed object. + std::vector<std::string> result; + obj.convert(&result); + + // If the type is mismatched, it throws msgpack::type_error. + 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) + + +## License + +Copyright (C) 2008-2010 FURUHASHI Sadayuki + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +See also NOTICE file. + |
