Commit Graph

3949 Commits

Author SHA1 Message Date
Krylov Yaroslav
c2d50d6073
Merge remote-tracking branch 'origin/develop' into feature/templated_define_type_macroses
# Conflicts:
#	test/src/unit-udt_macro.cpp
2020-12-30 21:09:21 +03:00
Niels Lohmann
a8398a7151
Merge pull request #2550 from nlohmann/std_bytes
Allow parsing from std::byte containers
2020-12-30 08:33:52 +01:00
Niels Lohmann
fc7e181cbf
⚗️ fix string representation 2020-12-29 22:21:31 +01:00
Niels Lohmann
bdb2469c31
🚨 fix warnings 2020-12-29 21:36:30 +01:00
Niels Lohmann
c886646707
🚨 fix warning 2020-12-29 21:04:41 +01:00
Niels Lohmann
4402176df5
add regression test 2020-12-29 20:52:57 +01:00
Niels Lohmann
e4fc598466
⚗️ add C++20 build 2020-12-29 20:45:56 +01:00
Niels Lohmann
77be4f6aaf
⚗️ add C++20 build 2020-12-29 20:32:07 +01:00
Niels Lohmann
91d7aa571f
⚗️ add C++20 build 2020-12-29 20:30:50 +01:00
Niels Lohmann
ca51dc62f2
⚗️ try to use Clang 10 2020-12-29 20:21:43 +01:00
Niels Lohmann
433da31334
⚗️ try to use GCC 10 2020-12-29 20:16:51 +01:00
Niels Lohmann
7b98df515f
add regression test 2020-12-29 14:48:18 +01:00
Niels Lohmann
98b2152452
Merge branch 'develop' of https://github.com/nlohmann/json into std_bytes 2020-12-29 14:37:46 +01:00
Niels Lohmann
ff3863dc1d
Merge pull request #2553 from jasujm/jasujm/input_adapter_custom_container
Fix compilation of input_adapter(container) in edge cases
2020-12-29 14:37:20 +01:00
Jaakko Moisio
467f622c65 Fix compilation of input_adapter(container) in edge cases
This fixes a compilation issue with the library if trying to use containers that
don't have non-member `begin()` and `end()` functions via ADL.

This patch extends the `using std::begin` and `using std::end` declarations to
also cover the return type deduction of the input_adapter() template
specialization for containers. The previous implementation only enabled the
detection of `std::begin()` and `std::end()` in the function body, making the
specialization unusable for container types that only have member `begin()` and
`end()` functions.

It is not typical to have `using` declarations in the namespace scope in a
header file. But a C++11 implementation can't rely on fully automatic return
type deduction, and needs to rely on ADL enabled helper templates. To prevent
the using declarations leaking, they are enclosed in another nested namespace.
2020-12-28 22:21:02 +01:00
Niels Lohmann
5dd06714b1
🐛 allow parsing from std::byte containers #2546 2020-12-28 11:31:21 +01:00
Niels Lohmann
dfedefb993
🚨 fix warnings 2020-12-26 17:56:16 +01:00
Niels Lohmann
f15d447522
🚨 fix warnings 2020-12-26 14:55:19 +01:00
Niels Lohmann
f78d456075
Merge pull request #2540 from karzhenkov/disrupt-cxx17-tests
Travis doesn't run any tests in C++17 mode
2020-12-21 20:58:06 +01:00
Alexander Karzhenkov
9493f4beb1 Advance gcc library version for clang++-7 2020-12-20 23:50:28 +05:00
Alexander Karzhenkov
cd7acc1dc5 Include <string_view> in "nlohmann/json.hpp" when C++17 is used 2020-12-20 19:40:36 +05:00
Alexander Karzhenkov
39b8d6bd33 Restore intentionally disrupted C++17 tests 2020-12-20 12:43:35 +05:00
Alexander Karzhenkov
aae0e4959e Fix travis configuration to enable C++17 tests 2020-12-20 10:18:41 +05:00
Alexander Karzhenkov
8247a217bb Disrupt all C++17 tests to check if they are executed 2020-12-19 18:58:49 +05:00
Krylov Yaroslav
ee88c8cf52
Merge remote-tracking branch 'origin/develop' into feature/templated_define_type_macroses 2020-12-19 00:12:18 +03:00
Niels Lohmann
c3c574cf96
Merge pull request #2538 from YarikTH/feature/doctest_v2.4.3
Doctest is updated to v2.4.3
2020-12-18 22:10:42 +01:00
Krylov Yaroslav
a1772743a1
Doctest is updated to v2.4.3 2020-12-18 07:27:22 +03:00
Niels Lohmann
8593260044
Merge pull request #2537 from nlohmann/fix_warnings
Fix warnings
2020-12-17 21:48:16 +01:00
Niels Lohmann
c026e1a475
🚨 fix warnings 2020-12-16 21:44:35 +01:00
Niels Lohmann
af8c6e7aa9
Merge pull request #2533 from nlohmann/c++_future
Do not unconditionally redefine C++14 constructs
2020-12-16 20:54:09 +01:00
Niels Lohmann
5c1a5bc9c1
Merge pull request #2534 from nlohmann/clarify_license
Clarify license of is_complete_type implementation
2020-12-16 20:53:38 +01:00
Niels Lohmann
45810082d4
Merge pull request #2536 from nlohmann/shadowing
Fix a shadowing warning
2020-12-16 20:52:46 +01:00
Niels Lohmann
5cc5285fe8
🚨 fix shadowing warning 2020-12-15 22:15:36 +01:00
Krylov Yaroslav
251972147d
NLOHMANN_DEFINE_TYPE_INTRUSIVE_IMPL and NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_IMPL are added. NLOHMANN_DEFINE_TYPE_INTRUSIVE and NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE are updated to work via XXX_IMPL verions. Also doxygen documentation is improved 2020-12-14 19:27:48 +03:00
Krylov Yaroslav
4f25c5c408
Tests for NLOHMANN_DEFINE_TYPE_INTRUSIVE_T and NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_T are added in unit-udt_macro.cpp. Needed to patch doctest.h to workaround https://github.com/onqtam/doctest/issues/447 2020-12-14 19:26:03 +03:00
Krylov Yaroslav
a9639c9d80
Fix NLOHMANN_DEFINE_TYPE_INTRUSIVE_T and NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_T after "Template declaration of NLOHMANN_DEFINE_TYPE_INTRUSIVE_2 and NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_2 updated to match NLOHMANN_JSON_SERIALIZE_ENUM" 2020-12-14 19:19:54 +03:00
Krylov Yaroslav
d58aed7b3a
CREATE_PERSON and CREATE_PERSON_WITH_ALPHABET macro are added to reduce code bloat in unit-udt_macro.cpp 2020-12-14 19:08:05 +03:00
Niels Lohmann
94d177e09a
📄 clarify license 2020-12-14 14:58:59 +01:00
Niels Lohmann
467986fe98
♻️ do not unconditionally redefine C++14 constructs 2020-12-14 14:31:27 +01:00
Niels Lohmann
2fc1f694ad
Merge pull request #2514 from globberwops/develop
Add MAIN_PROJECT check for test and install options
2020-12-14 13:41:46 +01:00
Krylov Yaroslav
8d7c38efb1
Two new macroses NLOHMANN_DEFINE_TYPE_INTRUSIVE_2 and NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_2 are renamed to *_T. Also doxygen docs for them are improved 2020-12-14 13:57:34 +03:00
Krylov Yaroslav
985d3ea852
Template declaration of NLOHMANN_DEFINE_TYPE_INTRUSIVE_2 and NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_2 updated to match NLOHMANN_JSON_SERIALIZE_ENUM 2020-12-14 13:05:19 +03:00
Martin Stump
1771e9249f
Remove comment on CTest inclusion
Co-authored-by: Niels Lohmann <niels.lohmann@gmail.com>
2020-12-14 10:59:38 +01:00
Krylov Yaroslav
95118c4ae6
Merge remote-tracking branch 'origin/develop' into feature/templated_define_type_macroses 2020-12-14 12:43:55 +03:00
Niels Lohmann
85ffc85a29
🎨 amalgamate code 2020-12-14 10:38:49 +01:00
Krylov Yaroslav
a0b170b668
Two new macroses NLOHMANN_DEFINE_TYPE_INTRUSIVE_2 and NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_2 added to make work with arbitrary basic_json overloads easier. 2020-12-14 03:45:34 +03:00
Martin Stump
ea759d0360
Compare to CMAKE_CURRENT_SOURCE_DIR for main project check 2020-12-13 20:34:51 +01:00
Niels Lohmann
97fe455ad5
Merge branch 'develop' of https://github.com/nlohmann/json into develop 2020-12-12 17:17:43 +01:00
Niels Lohmann
d028eff9e1
📦 add license to include.zip #2487 2020-12-12 17:17:38 +01:00
Niels Lohmann
be32cc4f5e
Merge pull request #2525 from YarikTH/feature/doctest_v2.4.1
Doctest is updated to v2.4.1
2020-12-12 15:08:55 +01:00