36 Commits

Author SHA1 Message Date
Takatoshi Kondo 428780db53 Added std::reference_wrapper packing and making object and object_with_zone support.
Fixed #370.
2015-10-09 15:45:29 +09:00
Nobuyuki Kubota 93142323f0 Merge pull request #349 from redboltz/variant
Variant
2015-09-04 18:42:47 +09:00
Takatoshi Kondo 96f145812f Fixed #243.
std::vector<unsigned char> and std::array<unsigned char> are mapped to BIN.
std::vector<uint8_t> and std::array<uint8_t> are mapped to BIN if uint8_t is the same type of unsigned char, otherwise mapped to ARRAY.

Added array_ref. When client wraps BIN mapped types above with array_ref as msgpack::type::array_ref<std::vector<char> >, the type is mapped to ARRAY.
2015-08-31 14:06:39 +09:00
Takatoshi Kondo cd9d6c5940 Added msgpack::type::variant and msgpack::type::variant_ref that is based on boost::variant.
You can convert to those types from any msgpack objects.
2015-08-18 17:47:27 +09:00
Takatoshi Kondo 11f2f333c6 Supported C++11 mode on MSVC2015. 2015-08-14 17:02:43 +09:00
Takatoshi Kondo 866e73acc3 Merge branch 'cmake-enable-shared' of https://github.com/jen20/msgpack-c into jen20-cmake-enable-shared 2015-08-13 11:13:10 +09:00
Takatoshi Kondo 12b5a6235a Added examples to cmake building process.
Set /WX flas that is warnings as errors on MSVC build.
Updated linux, osx, msvc build to refer to appropriate boost libraries.
2015-08-12 17:49:33 +09:00
Takatoshi Kondo db588909b9 Added std::shared_ptr and std::unique_ptr adaptors. 2015-07-31 12:39:11 +09:00
Takatoshi Kondo a746afa7cc Added 'as' support for containers. 2015-07-30 16:18:20 +09:00
James Nugent 60e737f622 Link against msgpack-static when shared disabled
This commit causes the tests to be linked against the msgpack-static
target if MSGPACK_ENABLE_SHARED is set to OFF.
2015-07-23 22:10:41 -04:00
Takatoshi Kondo 188c0a9a6b Merge branch 'add_define_map' of https://github.com/redboltz/msgpack-c into redboltz-add_define_map 2015-07-06 14:18:21 +09:00
Takatoshi Kondo ab438ac9b9 Added multi files that includes msgpack.hpp linking test.
It detects a lack of inline keyword in a function definition.
2015-07-06 12:33:00 +09:00
Takatoshi Kondo a37e7232c7 Merge pull request #305 from redboltz/add_boost_fusion
Added Boost.Fusion support.
2015-07-05 10:34:06 +09:00
Takatoshi Kondo 777e5f13f3 Added map-based class pack/convert support. 2015-07-05 09:23:43 +09:00
Takatoshi Kondo 57ba93a2b2 Added Boost.Fusion support.
Fusion sequences can be serialized.
2015-07-01 15:07:45 +09:00
Takatoshi Kondo 34a42415be Added v4(old) raw packing support. 2015-06-30 15:11:51 +09:00
Takatoshi Kondo aee537099d Added -Wextra and -Werror option for gcc and clang.
Reformatted and untabified configure.in.
2015-05-19 16:03:58 +09:00
Takatoshi Kondo 70fbae3c5f Added Boost.StringRef support. 2015-05-02 11:02:57 +09:00
Takatoshi Kondo 92a7f3f794 Fixed #273
msgpack::object stream outputs became JSON format.
2015-04-22 14:59:02 +09:00
Takatoshi Kondo ef09252dff Added the Boost.Optional adaptor.
It is enables when MSGPACK_USE_BOOST is defined.
2015-04-09 14:46:06 +09:00
Mizuki Hirata 97886c50e7 Fixed iterator test case. 2015-02-02 15:27:15 +09:00
Mizuki Hirata 327b0db626 Added versioning namespace and test case to iterator. 2015-02-02 15:27:15 +09:00
Takatoshi Kondo 7f48ddc85e Fixed #190.
Supressed warnings on MSVC.
2015-01-15 20:42:33 +09:00
Takatoshi Kondo 309e96087a - Added unpack limit.
- Added new exceptions to explain limit over errors.

- Fixed ext maximum size problem.
Problem:
The type of m_trail was uint32_t but when parsing ext, it could be 0xffffffff + 1. +1 means type. See https://github.com/msgpack/msgpack/blob/master/spec.md#ext-format-family

Solution:
Modified the type of m_trail as std::size_t. If sizeof(std::size_t) == 4, 0xffffffff size of ext is an error. If sizeof(std::size_t) == 8, 0xffffffff size of ext is not an error. m_trail is 0xffffffff + 1.

Design cohice:
I chose std::size_t as the m_trail's type instead of uint64_t intentionally. On 64 addressing bit environment, there is no problem. On 32 bit environment, there is no problem except ext with maximum size. There is only one exception in the all msgpack format. Using uint64_t to support that, it's very expensive. On 32 addressing bit environment, allocating 0xffffffff + 1 bytes of memory couldn't succeed, so I believe that throwing an exception is a reasonable design choice in the case.
2014-12-14 19:10:46 +09:00
Takatoshi Kondo a4af97b32c Supported dll export for msvc.
Supported tests for msvc.
2014-11-02 20:16:20 +09:00
Takatoshi Kondo 4fcb4777f3 Added additional unpack() APIs to support C++11 style programming. 2014-09-15 22:33:23 +09:00
Takatoshi Kondo 6a8412d6de Separated msgpack_test.cpp.
Renamed test files.
Decreased test's loop counter to avoid travis-ci no output timeout.
The number of loops is not so meaningful.
2014-09-09 14:15:21 +09:00
Takatoshi Kondo 2c2df64427 Fixed C++03 and C++11 conditional tests building problem on cmake. 2014-08-29 00:38:44 +09:00
Takatoshi Kondo f969f6f39c Replaced zone* member variable in object with zone&.
Added msgpack::object::with_zone tests.
Added tuples operator<<'s parameter to const.
Fixed array object::with_zone pointer and size unset problem.
Fixed forward_list object::with_zone pointer and size unset problem.
2014-08-11 13:23:27 +09:00
Takatoshi Kondo 8920c49597 Unified test files extension as cpp. 2014-08-11 09:01:17 +09:00
Takatoshi Kondo ea23bf843e Added std::forward_list support.
Fixed cmake filename typo.
2014-08-10 23:45:50 +09:00
Takatoshi Kondo 0bc4b3f599 Added the C++11 std::array support.
std::array<char, N> is mapped to BIN. That is the same mannar as std::vector.
2014-08-10 23:06:30 +09:00
Takatoshi Kondo 0a99b9f933 Fixed the problem that reference function doesn't pass correctly.
Fixed referenced flag writing timing on next(). It should place before flush.
Added msgpack_tuple test for CMakeLists.txt
Untabified CMakeLists.txt
Added reference function test.
2014-08-07 23:26:09 +09:00
Takatoshi Kondo 3104f7e451 Added -O3 -g option for gcc and clang. Improved compiler checking method. 2014-06-21 19:00:59 +09:00
Takatoshi Kondo 6daef66ea7 Added warning flags. 2014-06-21 11:11:32 +09:00
Takatoshi Kondo 06930616b2 Added cmake files.
https://github.com/msgpack/msgpack-c/pull/20
Removed 'preprocess' from original CMakeLists.txt.
Removed file copy from original CMakeLists.txt.

Removed 'preprocess' from bootstrap.
Removed file copy from bootstrap.

Added erb generated files. Ruby is no longer required.
Moved cases.mpac, cases_compact.mpa, pack_define.h,
pack_template.h, unpack_define.h, unpack_template.h,
and sysdep.h to apropriate location.

If you want to re-generate zone.hpp, define.hpp, and tuple.hpp,
then you execute preprocess.
2014-06-05 20:49:15 +00:00