mirror of
https://github.com/romixlab/qmsgpack.git
synced 2025-07-29 18:07:16 +02:00
Update README.md
This commit is contained in:
34
README.md
34
README.md
@ -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;
|
||||
~~~
|
||||
|
Reference in New Issue
Block a user