Commit Graph

4347 Commits

Author SHA1 Message Date
Krzysiek Karbowiak
b9ee1de662 Refactor assertions in unit-regression1.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
c8b8907dd4 Refactor assertions in unit-reference_access.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
3b1bdf4571 Refactor assertions in unit-msgpack.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
16e9318048 Refactor assertions in unit-modifiers.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
44d242da7d Refactor assertions in unit-json_pointer.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
96783fd22d Refactor assertions in unit-json_patch.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
ac8d903b9e Refactor assertions in unit-iterators2.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
1c523fe363 Refactor assertions in unit-iterators1.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
b77d8026a8 Refactor assertions in unit-element_access2.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
fc10743bdb Refactor assertions in unit-element_access1.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
e7470de775 Refactor assertions in unit-deserialization.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
8140466217 Refactor assertions in unit-conversions.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
2b37ebb059 Refactor assertions in unit-convenience.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
ffa5d9b42b Refactor assertions in unit-constructor1.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
95e29df839 Refactor assertions in unit-class_parser.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
cd486f6372 Refactor assertions in unit-class_iterator.cpp 2022-03-17 10:48:44 +01:00
Krzysiek Karbowiak
b0646dfa91 Refactor assertions in unit-class_const_iterator.cpp 2022-03-17 10:48:27 +01:00
Krzysiek Karbowiak
da6be701d7 Refactor assertions in unit-cbor.cpp 2022-03-17 10:21:37 +01:00
Krzysiek Karbowiak
f1958879b9 Refactor assertions in unit-bson.cpp 2022-03-17 10:20:47 +01:00
Krzysiek Karbowiak
d9d9aaba84 Refactor assertions in unit-algorithms.cpp 2022-03-17 10:19:39 +01:00
Krzysiek Karbowiak
8b5abbab6f Add missing check 2022-03-16 21:03:36 +01:00
Florian Albrechtskirchinger
700b95f447
Make iterator operator++/--(int) equality-preserving (#3332)
Commit f28fc22 introduced const qualifiers on post-(inc-/dec-)rement
operators of iterators. These qualifiers prevent the use of basic_json
in place of std::ranges::range, which requires the post-increment
operator to be equality-preserving.

These changes appear to be the result of ICC compiler suggestions, and
no further explanation is discernible from the PR discussion (#858).
Further testing revealed, that clang-tidy also suggests adding const to
prevent "accidental mutation of a temporary object".

As an alternative, this commit partially reverts f28fc22, removing all
added const qualifiers from return types and adds lvalue reference
qualifiers to the operator member functions instead.

Unit tests ensure the operators remain equality-preserving and
accidental mutation of temporaries following post-(inc-/dec-)rement is
prohibited.

Fixes #3331.
2022-03-08 10:10:50 +01:00
Florian Albrechtskirchinger
f208a9c19b
Fix C++20/gcc-12 issues (Part 1) (#3379)
* 🔧 use proper GCC binary

* 🔧 add more GCC warning flags

* ⚗️ try fix from https://github.com/nlohmann/json/issues/3138#issuecomment-1015562666

* Fix custom allocator test build failures (C++20)

Allocator tests fail to compile in C++20 mode with clang+MS STL due
to missing copy constructors.

* Fix test build failures due to missing noexcept (gcc-12)

* alt_string has multiple member functions that should be marked noexcept.
* nlohmann::ordered_map constructors can be noexcept.

Compilation failures result from the warning flag -Werror=noexcept and
gcc-12.

* Disable broken comparison tests in C++20 mode

Co-authored-by: Niels Lohmann <mail@nlohmann.me>
2022-03-07 22:19:28 +01:00
Niels Lohmann
4a6e6ca8c7
📝 update documentation 2022-03-07 13:48:24 +01:00
Andrea Cocito
8d7b5b6a28
Add clarification to avoid misunderstanding that cause #3360 (#3378)
* Update macros.md

Typos, typos
2022-03-07 13:43:50 +01:00
Florian Albrechtskirchinger
0fd95d2e28
Fix ordered_map ctor with initializer_list (#3370)
One of the ordered_map constructors was incorrectly accepting a
std::initializer_list<T> instead of std::initializer_list<value_type>.

Add regression test.

Fixes #3343.
2022-03-07 13:41:35 +01:00
Niels Lohmann
c6d8892e5d
FetchContent_MakeAvailable (#3351)
* 🔧 use FetchContent_MakeAvailable

* 💚 fix test names
2022-03-06 15:33:05 +01:00
Florian Albrechtskirchinger
d1e57df48b
Fix and update CI (#3368)
* CI: add workflow_dispatch trigger

* CI: change msvc2019*/clang* runners to windows-2019

GitHub updated their runners. windows-latest is now based on Windows
Server 2022 and comes with different tool versions.
MSVC 2019 is still available via the windows-2019 runner.
2022-03-06 13:54:00 +01:00
Faruk D
e4643d1f1b
Fix CITATION.cff and add automatic validation of your citation metadata (#3320)
* Update CITATION.cff cffversion to 1.2.0

* Fix CITATION.cff date-released

Co-authored-by: Abel Soares Siqueira <abel.s.siqueira@gmail.com>
2022-02-18 18:11:44 +01:00
Niels Lohmann
d8a63291cb
📝 add note on parsing ordered_json #3325 (#3326) 2022-02-12 15:45:51 +01:00
Niels Lohmann
eb21824147
📝 replace Doxygen links 2022-02-08 22:12:49 +01:00
pketelsen
eec79d4e8a
Add macros NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT and ..._NON_INTRUSIVE_WITH_DEFAULT (#3143)
* Added new macros NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT and NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT.

* Updated docs for NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT and NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT accordingly

* Rephrased docs for NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT and NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT

* Updated docs for NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT and NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_WITH_DEFAULT

* Renamed default_obj in to avoid name clashes

* Added test for serialization of default constructed object

* Add const to getters for macro tests

Co-authored-by: Chaoya Li <harry75369@gmail.com>
2022-01-30 22:06:50 +01:00
Niels Lohmann
c11f98228d
📝 document FetchContent 2022-01-30 13:05:18 +01:00
Thomas Braun
4d4c273036
.github/workflows/windows.yml: Add support for Visual Studio 2022 (#3295)
* .github/workflows/windows.yml: Add support for Visual Studio 2022

This is available in github actions since some time now [1].

[1]: https://github.com/actions/virtual-environments/issues/3949

* README.md: Add VS 2022 [skip ci]

The version and the build engine version (aka MSBuild version) were
taken from [1].

[1]: https://github.com/actions/virtual-environments/blob/win22/20220116.1/images/win/Windows2022-Readme.md
2022-01-26 09:57:23 +01:00
Niels Lohmann
b772649624
Add maintainer targets to create source archive (#3289)
* 🔨 add script to create xz archive
2022-01-25 19:53:02 +01:00
Ferry Huberts
293f67f9ff
Fix a typo (#3265) 2022-01-12 21:43:22 +01:00
Niels Lohmann
c6740d7d58
📝 add documentation for default behavior for macros 2022-01-11 21:46:40 +01:00
Niels Lohmann
ef556019be
📝 overwork documentation 2022-01-09 14:32:38 +01:00
Niels Lohmann
6d8d043add
♻️ make function static 2022-01-05 21:21:46 +01:00
Niels Lohmann
4b6220acf2
✏️ fix typo 2022-01-05 21:18:27 +01:00
Dimitris Apostolou
b785783440
Fix typo (#3249) 2022-01-05 13:35:14 +01:00
Niels Lohmann
6cd68ebd12
📝 add documentation for JSON Lines (#3247) 2022-01-05 09:51:29 +01:00
Niels Lohmann
4fc7b3dc7c
🔧 adjust docset generation script 2022-01-04 15:20:50 +01:00
Niels Lohmann
a8e86ba948
📝 improve documentation InputType and IteratorType (#3246) 2022-01-04 15:02:39 +01:00
Niels Lohmann
9e89c2fdb5
♻️ remove stringstream (#3244) 2022-01-04 09:25:41 +01:00
Giovanni Cerretani
78ddf2bcf8
fix _MSC_VER version to check for std::filesystem (#3240) 2022-01-03 13:57:51 +01:00
Niels Lohmann
cc59ab122f
Merge branch 'release/3.10.5' into develop 2022-01-03 06:40:28 +01:00
Niels Lohmann
b5364faf9d
🔖 set version to 3.10.5 2022-01-02 22:35:35 +01:00
Niels Lohmann
b69713c394
Fix compilation error with NVCC (#3234) 2022-01-02 09:03:56 +01:00
Niels Lohmann
926df56ddb
🔥 remove Travis CI #3087 (#3233) 2021-12-31 11:04:29 +01:00