Commit Graph

37 Commits

Author SHA1 Message Date
Takatoshi Kondo e90231c865 Added 'fallthrough' comments to suppress gcc7 warnings. 2017-04-24 17:16:43 +09:00
Khem Raj 15d8bb6792 Comment intentional fallthrough in case statements
Fixes build with gcc7

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-04-22 08:53:50 -07:00
Takatoshi Kondo 4df2bdecda Fixed #536.
Replaced __GNUC_MINOR__ 6 with 7 for suppress maybe-uninitialized.
2017-03-15 21:30:07 +09:00
Takatoshi Kondo dc86adbf8e Merge pull request #558 from redboltz/add_boost_string_view
Added boost string_view adaptor.
2017-01-20 09:33:23 +09:00
raeraex2 b7543e1386 Fix compilation warnings about possible loss of data 2017-01-17 22:16:05 +01:00
Takatoshi Kondo 1f515b3ae7 Added boost string_view adaptor. 2017-01-15 19:09:31 +09:00
Takatoshi Kondo 84ad9a2634 Added Spirit.X3 based parse.
It uses iterator pair instead of data and size.
2017-01-05 21:24:25 +09:00
Takatoshi Kondo 9b141fa9b6 Separated parse and unpack on v2. 2017-01-04 11:45:51 +09:00
Takatoshi Kondo c55f778198 Fixed #534.
Added conditional [[deprecated]] attribute.
Updated zlib version.
2017-01-02 20:40:34 +09:00
Takatoshi Kondo 7e139125e2 Fixed array and map size overflow. 2016-12-29 12:13:14 +09:00
Takatoshi Kondo 2f34d22bf5 Merge pull request #533 from Kronuz/patch-1
Save the flags of the stream
2016-10-29 13:28:10 +09:00
Germán M. Bravo 03b770fdf2 Save the flags of the stream
Changing the stream to `std::hex` mode should only affect the current character; otherwise printing some msgpack with a list like this: `[123, "string\\u0003", 123]` (123 decimal) ends up printing `[123, "string\\u0003", 7b]`, as `std::hex` is sticky.
2016-10-28 15:27:03 -05:00
Takatoshi Kondo ccc9ac5538 Fixed #521.
Introduced new object type `FLOAT32` and `FLOAT64`.
`FLOAT64` is equivalent to `FLOAT`.
The both internal expressions are f64(double).
2016-10-11 23:23:06 +09:00
Takatoshi Kondo 5d69c22bf9 Use OR instead of AND for all classes that have multiple types.
Revert example. Combination of has_as and not has_as are move to tests.
2016-08-29 22:12:01 +09:00
Martin C Drohmann 7191a3b014 enable as<map<...> > implementation when the key OR the value have as() 2016-08-23 15:03:14 -07:00
Takatoshi Kondo 3c997edd71 Merge pull request #489 from redboltz/fix_390
Fix 390
2016-06-21 21:07:29 +09:00
Takatoshi Kondo 523e986077 Added size_equal_only support for C++03 msgpack::type::tuple. 2016-06-20 18:39:04 +09:00
Takatoshi Kondo 4ffdc01135 Added converting support for different size tuples. 2016-06-20 17:12:53 +09:00
Takatoshi Kondo 1b87018a0a Fixed #390.
Added size_equal_only class template to check converted container size
strictly.
Relaxed std::array size checking by default.
Fixed std::tuple and msgpack::type::tuple size checking problem.
2016-06-20 15:32:24 +09:00
Takatoshi Kondo 755342bb25 Improved C-Style array support.
In the case the target type is char[] or const char[],

If the array is '\0' teminated, msgpack-c packs the characters before
'\0', otherwise packs all characters.

When converting, the array has the size that is greater than
msgpack::object STR's size, msgpack-c adds '\0' to just after converted
characters. Otherwise msgpack-c doesn't add '\0'.
2016-06-19 20:47:42 +09:00
Takatoshi Kondo 0f66e144ab Support MSVC cli.
MSVC CLI defined their own nullptr and provides for __nullptr for standard C++11.
https://msdn.microsoft.com/en-us/library/4ex65770.aspx
msgpack-c introduce MSGPACK_NULLPTR for internal use, it is defined as __nullptr only if compiled on C++ CLI otherwise defined as nullptr.
2016-06-08 18:03:51 +09:00
Takatoshi Kondo 22613d4dd0 Merge pull request #464 from redboltz/fix_463
Fixed #463.
2016-05-24 08:22:50 +09:00
Takatoshi Kondo cc02da0ccf Fixed #465
Added C-Style array support.

Existing mapping:
  convert:
  pack:
    char[N]       => STR
    const char[N] => STR
  object:
    char[N]       => STR (v1 only)
    const char[N] => STR (v1 only)
  object_with_zone:
    char[N]       => STR
    const char[N] => STR

Additional mapping:

  convert:
    STR        => char[N]
    ARRAY      => T[N]
  pack:
    T[N]       => ARRAY
    const T[N] => ARRAY
  object:
  object_with_zone:
    T[N]       => ARRAY
    const T[N] => ARRAY
2016-05-16 23:00:30 +09:00
Takatoshi Kondo e6f82cf2bb Fixed #463.
Added lacked include files.
Added a test.
Added MSVC build settings on appveyor.
Added old MSVC workaround.
Fixed a variable definition point to meet ANSI-C.
2016-05-14 22:05:10 +09:00
Takatoshi Kondo e21b4ef28d Fixed #457.
JSON doesn't have `nil` but has `null`.
msgpack::object JSON output uses `null` when the object is nil_t.
2016-04-14 14:48:42 +09:00
Takatoshi Kondo a3e868acb8 Fixed pack comment. 2016-03-26 11:18:21 +09:00
Takatoshi Kondo 31a06a0682 Removed obsolete APIs form v2.
Removed MSGPACK_DISABLE_LEGACY_CONVERT from v2. Those APIs are removed
from v2.
2016-03-25 09:16:27 +09:00
Takatoshi Kondo 1bfcf55469 Replaced msgpack::unpacked with msgpack::object_handle.
msgpack::unpacked is a typedef of the msgpack::object_handle.
I recommend using msgpack::object_handle. It can be used not only
holding unpacked msgpack objects but also msgpack::objects that are
created by any types.

Replaced unpack() APIs in test codes and examples. They used to use old
APIs.
2016-03-21 15:22:50 +09:00
Takatoshi Kondo f5f42782be Fixed #446.
Replaced passed by value with passed by rvalue reference on
msgpack::object_handle's constructor.
2016-03-21 00:51:18 +09:00
Takatoshi Kondo 455e0190d1 Fixed #442.
Updated msgpack::v1::operator<< and >> implementation.
Those functions refer to current version of convert, pack, object, and object_with_zone.
2016-03-17 08:43:00 +09:00
Takatoshi Kondo fe229d1df0 Fixed #440.
Fixed a pointer operation problem at msgpack::zone::chunk_list::clear().
It was only happened on C++03.
2016-03-12 11:39:38 +09:00
Takatoshi Kondo b641065d1f Added a pragma for avoiding maybe-uninitialized warning. 2016-02-26 15:51:35 +09:00
Takatoshi Kondo 60d4b2833d Fixed #433.
Added zero size check before calling std::vector<T>::front().
Added empty checking tests for all containers.
2016-02-26 15:08:18 +09:00
Takatoshi Kondo 86ac7c6eb7 Undo-ed overly removed constructors. 2016-02-20 23:50:53 +09:00
Takatoshi Kondo 664ab708e4 Fixed #422.
Replaced the inheriting constructor with a forwarding constructor.
Removed the template constructors that are covered by the forwarding constructor.
Added std::forward() to make_tuple.
Added conversion constructor.

Moved msgpack::type::tuple to
include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp from
include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp.
msgpack::type::tuple_cat requires the class template tuple definition.
2016-02-18 16:44:02 +09:00
Ian Bell 7b578cc065 Replace stdint.h header in check_container_size_decl.hpp
``#include <stdint.h>`` is invalid in MSVC 9 2008 .  Using the system dependent header does work in my testing with MSVC9, and should be safe for other compilers I think.
2016-02-14 15:15:11 -07:00
Takatoshi Kondo 54cb4350b3 Re-organized tree to prepare for version 2.0.0.
See https://github.com/msgpack/msgpack-c/wiki/v1_1_cpp_versioning
2016-01-31 19:28:31 +09:00