Commit Graph

145 Commits

Author SHA1 Message Date
Uy Ha d812fa5edc Fix compilation error when std::variant has the same types 2024-04-02 01:23:25 +00:00
Takatoshi Kondo d372a71786 Revert "Arenoros zone/optimization size/delayed malloc" 2023-11-23 18:24:47 +09:00
Arenoros add68ff9e6 replace nullptr -> MSGPACK_NULLPTR 2023-10-02 19:52:40 +03:00
Arenoros ede530de0a fix build 2023-10-02 19:52:40 +03:00
Arenoros 62de80fa72 port optimizations for cpp03 2023-10-02 19:52:40 +03:00
Arenoros f2b3f52d44 Correction of comments 2023-10-02 19:52:40 +03:00
Arenoros 035bfeb39e fix zone::chunk_list::clear 2023-10-02 19:52:40 +03:00
Arenoros 04292fe63d fix failed test 2023-10-02 19:52:40 +03:00
Arenoros 573ebca3d2 Optimization of msgpack::zone size on the stack and deferred memory allocation 2023-10-02 19:52:40 +03:00
hiradyazdan e7f7b51005 modified function name 'has_as::check' to avoid ambiguity/conflicts with other libraries/engines's macro definitions (e.g. UE) 2023-08-13 18:32:33 +01:00
Takatoshi Kondo 1fb1dad6bc Merge pull request #1076 from uyha/chrono-no-boost
remove dependency on boost in chrono.hpp
2023-07-06 09:11:42 +09:00
Uy Ha 4bc88d7f6f fix indent 2023-07-04 06:56:39 +00:00
Uy Ha 35638ead37 fix style 2023-07-04 06:06:43 +00:00
Uy Ha f09713e838 fix style 2023-07-04 06:00:22 +00:00
Uy Ha 6507243913 fix style 2023-07-04 05:30:35 +00:00
Uy Ha f2ffcf0b08 remove dependency on boost in chrono.hpp 2023-07-03 20:05:06 +00:00
Uy Ha 211c50c755 enhance error handling, implement object_with_zone, and add more tests 2023-07-03 16:17:12 +00:00
Uy Ha d6b2de9243 fix MSVC build 2023-07-03 14:01:56 +00:00
Uy Ha 327f3d1ad0 implement as and pack for std::variant 2023-07-03 13:37:37 +00:00
Takatoshi Kondo 34f8fd65bb Fixed #1070.
- msgpack::type::variant behaves as MessagePack format.
  e.g.)
  12.34  => double
  12.0   => uint64_t
  -12.34 => double
  -12.0  => int64_t
- msgpack::type::variant::as_double() can be used even if interval type is
  int64_t and/or uint64_t.
- msgpack::type::variant::as_*() don't return non const reference
  internal value.
- fix coding style
2023-05-14 10:12:21 +09:00
Takatoshi Kondo b051192ed6 Fixed #1037.
Added MSGPACK_NO_BOOST guard for direct inclusion of chrono adaptor,
2022-11-02 09:58:36 +09:00
Takatoshi Kondo 5eabf7189a Fixed #1029.
Removed invalid `noexcept` from zone's constructor.
2022-08-19 09:34:07 +09:00
Takatoshi Kondo 25c3947a91 Merge pull request #1011 from timblechmann/fix/make-some-headers-self-contained
make some headers self-contained
2022-07-10 19:55:31 +09:00
GeorgFritze 05de839b44 fix bug in pack_float and pack_double 2022-06-13 09:18:22 +02:00
GeorgFritze d59e1d7716 update msgpack_basic test for compact double packaging
update pack_double and pack_float to avoid warnings
2022-06-07 09:46:39 +02:00
GeorgFritze d5c837b612 style changes 2022-06-03 15:08:23 +02:00
GeorgFritze 68acf21a8e pack double and float in a more size efficient way
check also for nan and numeric limits
2022-06-02 10:40:51 +02:00
Georg Fritze 6f0683bb46 pack double and float more size efficient 2022-05-13 13:04:17 +02:00
Tim Blechmann 8b87e62835 make some headers self-contained
some headers are not self-contained, as they depend on
symbols from headers which aren't included
2022-03-23 15:29:12 +08:00
Takatoshi Kondo 066d509a68 Minimall supported build without boost.
To remove boost dependency, `-DMSGPACK_USE_BOOST=OFF` for cmake.
By default, `-DMSGPACK_USE_BOOST` is `ON`.
NOTE: In order to build tests `-DMSGPACK_USE_BOOST=ON` is required.

For C++ compiler, the option `-DMSGPACK_NO_BOOST` is required to remove
boost.
2022-02-07 22:32:59 +09:00
John Cortell bae76b7cf6 Further adjustment to EXT case 2021-11-09 07:23:52 -06:00
John Cortell f543d94521 adjust based on PR feedback 2021-11-08 09:18:46 -06:00
John Cortell 9ff1b5e939 Don't send binary values to output stream
The stringification of a msgpack object shouldn't write the
raw bytes of a binary value. It will likely make the result
unprintable. Just print that it's a binary blob and include
the size. E.g.,

{"data":BIN(1032256)}

EXT is handled similarly but without the size. We now also
print the size.

Issue 994
2021-11-08 08:44:15 -06:00
Takatoshi Kondo 49bdd40eab Fixed other similar include problems. 2021-11-02 09:57:37 +09:00
Takatoshi Kondo ca9f25b51e Added file include.
Added cstdint header for uintptr_t (for C++11 or later)
Added stdint.h header for uintptr_t (for C++03)
2021-08-29 21:35:33 +09:00
Takatoshi Kondo 860f7fce55 Ported #962 to C++.
Improved alignment calculation logic.
Fixed test for zone.
Now, align parameter must be 2^n (n >=0). e.g. 1,2,4,8,16, ...
2021-08-29 13:46:51 +09:00
Daniil Kovalev d04b1e7549 Fix empty string deserialization with API version 1 2021-08-28 17:36:39 +03:00
Daniil Kovalev 7b7615a6d9 Modernize codebase
- Enhance CMakeLists.txt files.
- Move to Boost Test from Google Test to support pre-C++11 compilers.
- Add more configurations on CI matrix builds.
- Other minor fixes
2021-07-01 18:17:20 +03:00
Daniil Kovalev 0af15e45de Add tests for std::span adaptor 2021-05-28 15:14:47 -04:00
Daniil Kovalev 18ec42ccac Merge branch 'cpp_master' into add_span_support 2021-05-28 21:56:17 +03:00
Takatoshi Kondo 3feac1f51d Fixed #956.
Called memcpy only if STR/BIN size > 0.
2021-05-15 23:43:33 +09:00
Daniil Kovalev 77045f13bb Add tests for std::span adaptor 2021-05-10 22:41:10 +03:00
Daniil Kovalev 388891edad Add support for more binary buffer types
Add support for the following types:
- `std::array<std::byte>`
- `std::span<char>`
- `std::span<unsigned char>`
- `std::span<std::byte>`
2021-05-10 16:06:26 +03:00
Daniil Kovalev 90677eb58c Fix UB in v4raw_ref::operator==
Behaviour of memcmp is undefined if any of pointers passed to it is null.
See https://en.cppreference.com/w/c/string/byte/memcmp for details.
UB was detected on test MSGPACK_V4RAW_REF.pack_unpack_fix_l with UB-sanitizer.
2021-05-09 15:43:14 +03:00
Daniil Kovalev 3944993686 Fix name conflicts
Previously `struct iovec` was explicitly defined on non-Unix systems,
which caused name conflicts when other libraries (e.g. Cyrus SASL) did the same.
Using `struct iovec` as `msgpack::iovec` solves the problem.
2021-05-08 16:26:25 +03:00
Takatoshi Kondo 6598c6228f Replaced assert with BOOST_ASSERT.
Applied *buffer buf and len checking assert.
Avoided needless code execution if buf is nullptr.
2020-07-02 21:36:04 +09:00
Takatoshi Kondo c8a053557c Propagated CXXFLAGS.
Fixed warnings.
2020-07-02 16:15:08 +09:00
Takatoshi Kondo 0e22de17b1 Merge branch 'ygj6-cpp_master' into cpp_master 2020-07-02 13:58:30 +09:00
Takatoshi Kondo 8ee6df83cc Fixed warning on fusion adaptor. 2020-07-02 09:13:53 +09:00
Takatoshi Kondo 0168468ac8 Merge branch 'cpp_master' of https://github.com/ygj6/msgpack-c into cpp_master 2020-07-02 08:51:59 +09:00