msgpack/msgpack-c — pull request #128 by redboltz (2014-09-15 13:46:39+00:00)
Title: Added additional unpack() APIs to support C++11 style programming.

I heard a request that unpack() should return msgpack::unpacked instead of void from some users. So I considered. It's good way to support C++11 style programming. msgpack::unpacked moves well.

However, it's not good for C++03. msgpack::unpacked has msgpack::unique_ptr. msgpack::unique_ptr is implemented by std::auto_ptr on C++03.
https://github.com/msgpack/msgpack-c/blob/poc/0.6/include/msgpack/cpp_config.hpp#L44

std::auto_ptr requires the copy constructor that have non const reference type, unpacked(unpacked&). It cannot receive a rvalue such as function return value.

```C++
unpacked unp = unpack(...); // NG
```

Finally, I've decided to support unpack() that returns msgpack::unpacked only C++11.