Update README.md

This commit is contained in:
Roman
2015-06-27 14:46:47 +03:00
parent 8482a8a5c8
commit 2bbc07fb52

View File

@ -8,24 +8,11 @@ Installation
Clone repository:
~~~bash
git clone https://github.com/romixlab/qmsgpack.git
~~~
Run cmake:
~~~bash
cd qmsgpack
mkdir build
cd build
cmake ..
~~~
Compile:
~~~bash
make
~~~
Run tests and install
~~~bash
make tests install
make install
~~~
Sample usage
@ -42,11 +29,16 @@ Unpacking:
QVariantList unpacked = MsgPack::unpack(array).toList();
~~~
By default these Qt types are supported: `Int, UInt, LongLong, ULongLong, Double, QByteArray, Bool, QString, QStringList, QVariantList, QVariantMap`.
Streaming API:
~~~cpp
// packing
MsgPackStream stream(&ba, QIODevice::WriteOnly);
stream << 1 << 2.3 << "some string";
Also you can provide packer and unpacker functions for any other type (even for user type defined via `Q_DECLARE_METATYPE`) or MsgPack type.
Thread-safety
-------------
At this time it is not safe to call `MsgPack::registerPacker`, `MsgPack::registerUnpacker` and `MsgPack::setCompatibilityModeEnabled` from different threads.
pack and unpack methods do not use any global data, so should be safe to use from multiple threads.
// unpacking
MsgPackStream stream(ba);
int a;
double b;
QSting s;
stream >> a >> b >> s;
~~~