Compare commits

..

24 Commits

Author SHA1 Message Date
Takatoshi Kondo
44c0f705c9 Merge pull request #1113 from redboltz/update_to_611
Update the version to 6.1.1.
2024-04-02 12:13:33 +09:00
Takatoshi Kondo
ddb884e9cd Update the version to 6.1.1. 2024-04-02 11:14:58 +09:00
Takatoshi Kondo
c593c32b87 Merge pull request #1112 from uyha/same-type-variant
Fix compilation error when `std::variant` has the same types
2024-04-02 11:07:50 +09:00
Uy Ha
d812fa5edc Fix compilation error when std::variant has the same types 2024-04-02 01:23:25 +00:00
Takatoshi Kondo
e9e06a546c Merge pull request #1110 from Zopolis4/appveyedcpp
Fix appveyor for cpp_master
2024-03-07 15:54:10 +09:00
Zopolis4
1021aeea6f Update zlib to 1.3.1 in appveyor.yml and .github/depends/zlib.sh 2024-03-07 16:58:37 +11:00
Takatoshi Kondo
2c0040cef6 Merge pull request #1101 from msgpack/revert-1096-Arenoros-zone/optimization_size/delayed_malloc
Revert "Arenoros zone/optimization size/delayed malloc"
2023-11-23 19:22:14 +09:00
Takatoshi Kondo
f33c7dfdbe Removd boost system. 2023-11-23 18:38:43 +09:00
Takatoshi Kondo
d372a71786 Revert "Arenoros zone/optimization size/delayed malloc" 2023-11-23 18:24:47 +09:00
Takatoshi Kondo
2987022c10 Merge pull request #1096 from redboltz/Arenoros-zone/optimization_size/delayed_malloc
Arenoros zone/optimization size/delayed malloc
2023-10-03 12:47:02 +09:00
Takatoshi Kondo
34f531e26e Rename ruby file. 2023-10-03 10:51:29 +09:00
Takatoshi Kondo
91006555f1 Remove boost system requirement. 2023-10-03 10:51:29 +09:00
Takatoshi Kondo
cd7c5bcfec Remove Boost::system. 2023-10-03 10:51:29 +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
Takatoshi Kondo
37fcaa1264 Merge pull request #1090 from redboltz/update_zlib_for_ci
Updated zlib for CI.
2023-08-30 00:00:16 +09:00
Takatoshi Kondo
a55c73d90e Updated zlib for CI. 2023-08-29 23:28:21 +09:00
Takatoshi Kondo
b2f056c8b6 Merge pull request #1085 from hiradyazdan/cpp_master
Fix to avoid common function name's (`has_as::check`) ambiguity/conflict with other libraries' macros
2023-08-14 09:26:04 +09: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
14 changed files with 55 additions and 32 deletions

View File

@@ -27,9 +27,9 @@ while getopts "b:t:p:" c; do
done
mkdir $prefix || exit 1
wget https://zlib.net/zlib-1.2.13.tar.gz || exit 1
tar -xf zlib-1.2.13.tar.gz || exit 1
cd zlib-1.2.13
wget https://zlib.net/zlib-1.3.1.tar.gz || exit 1
tar -xf zlib-1.3.1.tar.gz || exit 1
cd zlib-1.3.1
build()
{

View File

@@ -1,3 +1,8 @@
# 2024-04-02 version 6.1.1
* Fix compilation error when std::variant has the same types (#1112)
* Improve CI (#1090, #1110)
* Fix to avoid common function name's (has_as::check) ambiguity/conflict with other libraries' macros (#1085)
# 2023-07-08 version 6.1.0
* Remove dependency on boost in chrono.hpp (#1076)
* Add support for std::variant behavior (#1075)

View File

@@ -1,7 +1,7 @@
`msgpack` for C++
===================
Version 6.1.0 [![Build Status](https://github.com/msgpack/msgpack-c/workflows/CI/badge.svg?branch=cpp_master)](https://github.com/msgpack/msgpack-c/actions) [![Build status](https://ci.appveyor.com/api/projects/status/8kstcgt79qj123mw/branch/cpp_master?svg=true)](https://ci.appveyor.com/project/redboltz/msgpack-c/branch/cpp_master)
Version 6.1.1 [![Build Status](https://github.com/msgpack/msgpack-c/workflows/CI/badge.svg?branch=cpp_master)](https://github.com/msgpack/msgpack-c/actions) [![Build status](https://ci.appveyor.com/api/projects/status/8kstcgt79qj123mw/branch/cpp_master?svg=true)](https://ci.appveyor.com/project/redboltz/msgpack-c/branch/cpp_master)
[![codecov](https://codecov.io/gh/msgpack/msgpack-c/branch/cpp_master/graph/badge.svg)](https://codecov.io/gh/msgpack/msgpack-c/branch/cpp_master)
It's like JSON but smaller and faster.

View File

@@ -1,4 +1,4 @@
version: 6.1.0.{build}
version: 6.1.1.{build}
branches:
only:
@@ -23,10 +23,10 @@ environment:
boost_subdir: lib32-msvc-14.0
build_script:
- ps: |
appveyor DownloadFile http://zlib.net/zlib-1.2.13.tar.gz -FileName zlib-1.2.13.tar.gz
7z x zlib-1.2.13.tar.gz 2> $null
7z x zlib-1.2.13.tar 2> $null
cd zlib-1.2.13
appveyor DownloadFile http://zlib.net/zlib-1.3.1.tar.gz -FileName zlib-1.3.1.tar.gz
7z x zlib-1.3.1.tar.gz 2> $null
7z x zlib-1.3.1.tar 2> $null
cd zlib-1.3.1
md build
md prefix
@@ -34,7 +34,7 @@ build_script:
cmake `
-G $env:msvc `
-D CMAKE_INSTALL_PREFIX="$env:APPVEYOR_BUILD_FOLDER\zlib-1.2.13\prefix" `
-D CMAKE_INSTALL_PREFIX="$env:APPVEYOR_BUILD_FOLDER\zlib-1.3.1\prefix" `
..
if ($LastExitCode -ne 0) { exit $LastExitCode }
@@ -52,7 +52,7 @@ build_script:
-D MSGPACK_BUILD_EXAMPLES=ON `
-D MSGPACK_BUILD_TESTS=ON `
-D CMAKE_EXE_LINKER_FLAGS=/LIBPATH:"$env:boost_prefix\$env:boost_subdir" `
-D CMAKE_PREFIX_PATH="$env:boost_prefix;$env:APPVEYOR_BUILD_FOLDER\zlib-1.2.13\prefix" `
-D CMAKE_PREFIX_PATH="$env:boost_prefix;$env:APPVEYOR_BUILD_FOLDER\zlib-1.3.1\prefix" `
-D CMAKE_INSTALL_PREFIX="$env:APPVEYOR_BUILD_FOLDER\prefix" `
-D CMAKE_CXX_FLAGS="/D_VARIADIC_MAX=10 /EHsc /DBOOST_ALL_DYN_LINK" `
..
@@ -62,5 +62,5 @@ build_script:
if ($LastExitCode -ne 0) { exit $LastExitCode }
test_script:
- set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%\zlib-1.2.13\build\Release;%APPVEYOR_BUILD_FOLDER%\build\release;%boost_prefix%\%boost_subdir%
- set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%\zlib-1.3.1\build\Release;%APPVEYOR_BUILD_FOLDER%\build\release;%boost_prefix%\%boost_subdir%
- ctest -VV -C Release

View File

@@ -1,4 +1,4 @@
FIND_PACKAGE (Boost REQUIRED COMPONENTS system)
FIND_PACKAGE (Boost REQUIRED)
FIND_PACKAGE (Threads REQUIRED)
FIND_PACKAGE (ZLIB REQUIRED)
@@ -22,7 +22,6 @@ FOREACH (source_file ${exec_PROGRAMS})
)
TARGET_LINK_LIBRARIES (${source_file_we} PRIVATE
msgpack-cxx
Boost::system
Threads::Threads
)
IF (ZLIB_FOUND)

View File

@@ -1,5 +1,5 @@
IF (MSGPACK_USE_X3_PARSE AND MSGPACK_DEFAULT_API_VERSION VERSION_GREATER 1)
FIND_PACKAGE (Boost REQUIRED COMPONENTS context system)
FIND_PACKAGE (Boost REQUIRED COMPONENTS context)
FIND_PACKAGE (Threads REQUIRED)
LIST (APPEND exec_PROGRAMS
@@ -42,7 +42,6 @@ IF (MSGPACK_USE_X3_PARSE AND MSGPACK_DEFAULT_API_VERSION VERSION_GREATER 1)
TARGET_LINK_LIBRARIES (${source_file_we} PRIVATE
msgpack-cxx
Boost::context
Boost::system
Threads::Threads
)
IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")

View File

@@ -1,5 +1,5 @@
FIND_PACKAGE (Threads REQUIRED)
FIND_PACKAGE (Boost REQUIRED COMPONENTS system filesystem unit_test_framework)
FIND_PACKAGE (Boost REQUIRED COMPONENTS filesystem unit_test_framework)
LIST (APPEND check_PROGRAMS
regression_runner.cpp
@@ -19,7 +19,6 @@ FOREACH (source_file ${check_PROGRAMS})
msgpack-cxx
Threads::Threads
Boost::filesystem
Boost::system
Boost::unit_test_framework
)

View File

@@ -40,11 +40,11 @@ Variant construct_variant(
std::index_sequence<current_index, indices...>
) {
if constexpr(sizeof...(Ts) == 0) {
return object.as<T>();
return Variant{std::in_place_index<current_index>, object.as<T>()};
}
else {
if (index == current_index) {
return object.as<T>();
return Variant{std::in_place_index<current_index>, object.as<T>()};
}
return construct_variant<Variant, Ts...>(
index,

View File

@@ -53,16 +53,16 @@ template <typename T>
struct has_as {
private:
template <typename U>
static auto check(U*) ->
static auto check_(U*) ->
// Check v1 specialization
typename std::is_same<
decltype(adaptor::as<U>()(std::declval<msgpack::object>())),
T
>::type;
template <typename...>
static std::false_type check(...);
static std::false_type check_(...);
public:
using type = decltype(check<T>(MSGPACK_NULLPTR));
using type = decltype(check_<T>(MSGPACK_NULLPTR));
static constexpr bool value = type::value;
};

View File

@@ -79,7 +79,7 @@ template <typename T>
struct has_as {
private:
template <typename U>
static auto check(U*) ->
static auto check_(U*) ->
typename std::enable_if<
// check v2 specialization
std::is_same<
@@ -92,9 +92,9 @@ private:
std::true_type
>::type;
template <typename...>
static std::false_type check(...);
static std::false_type check_(...);
public:
using type = decltype(check<T>(MSGPACK_NULLPTR));
using type = decltype(check_<T>(MSGPACK_NULLPTR));
static constexpr bool value = type::value;
};

View File

@@ -36,7 +36,7 @@ template <typename T>
struct has_as {
private:
template <typename U>
static auto check(U*) ->
static auto check_(U*) ->
typename std::enable_if<
// check v3 specialization
std::is_same<
@@ -52,9 +52,9 @@ private:
std::true_type
>::type;
template <typename...>
static std::false_type check(...);
static std::false_type check_(...);
public:
using type = decltype(check<T>(MSGPACK_NULLPTR));
using type = decltype(check_<T>(MSGPACK_NULLPTR));
static constexpr bool value = type::value;
};

View File

@@ -1,3 +1,3 @@
#define MSGPACK_VERSION_MAJOR 6
#define MSGPACK_VERSION_MINOR 1
#define MSGPACK_VERSION_REVISION 0
#define MSGPACK_VERSION_REVISION 1

View File

@@ -1,6 +1,6 @@
FIND_PACKAGE (Threads REQUIRED)
FIND_PACKAGE (ZLIB)
FIND_PACKAGE (Boost REQUIRED COMPONENTS unit_test_framework system)
FIND_PACKAGE (Boost REQUIRED COMPONENTS unit_test_framework)
LIST (APPEND check_PROGRAMS
array_ref.cpp
@@ -79,7 +79,6 @@ FOREACH (source_file ${check_PROGRAMS})
TARGET_LINK_LIBRARIES (${source_file_we}
msgpack-cxx
Boost::system
Boost::unit_test_framework
Threads::Threads
ZLIB::ZLIB

View File

@@ -474,6 +474,28 @@ BOOST_AUTO_TEST_CASE(variant_pack_unpack_as) {
oh.get().as<std::variant<bool, int, float, double> >();
BOOST_CHECK(val1 == val2);
BOOST_CHECK_THROW((oh.get().as<std::variant<bool>>()), msgpack::type_error);
{
std::stringstream same_ss;
std::variant<int, float, int> same_expected{std::in_place_index<2>, 2};
msgpack::pack(same_ss, same_expected);
std::string const& same_str = same_ss.str();
msgpack::object_handle same_oh =
msgpack::unpack(same_str.data(), same_str.size());
std::variant<int, float, int> same_actual = same_oh->as<std::variant<int, float, int>>();
BOOST_CHECK(same_expected == same_actual);
}
{
std::stringstream same_ss;
std::variant<int, int> same_expected{std::in_place_index<1>, 2};
msgpack::pack(same_ss, same_expected);
std::string const& same_str = same_ss.str();
msgpack::object_handle same_oh =
msgpack::unpack(same_str.data(), same_str.size());
std::variant<int, int> same_actual = same_oh->as<std::variant<int, int>>();
BOOST_CHECK(same_expected == same_actual);
}
}
BOOST_AUTO_TEST_CASE(variant_with_zone) {