Merge branch 'develop' into feature/json-pointer
This commit is contained in:
commit
3a3e064287
5 changed files with 412 additions and 431 deletions
4
Makefile
4
Makefile
|
@ -66,7 +66,7 @@ cppcheck:
|
||||||
|
|
||||||
# create scanner with re2c
|
# create scanner with re2c
|
||||||
re2c: src/json.hpp.re2c
|
re2c: src/json.hpp.re2c
|
||||||
$(RE2C) -b -s -i --no-generation-date $< | $(SED) '1d' > src/json.hpp
|
$(RE2C) --bit-vectors --nested-ifs --no-debug-info $< | $(SED) '1d' > src/json.hpp
|
||||||
|
|
||||||
# pretty printer
|
# pretty printer
|
||||||
pretty:
|
pretty:
|
||||||
|
@ -74,7 +74,7 @@ pretty:
|
||||||
--indent-switches --indent-preproc-block --indent-preproc-define \
|
--indent-switches --indent-preproc-block --indent-preproc-define \
|
||||||
--indent-col1-comments --pad-oper --pad-header --align-pointer=type \
|
--indent-col1-comments --pad-oper --pad-header --align-pointer=type \
|
||||||
--align-reference=type --add-brackets --convert-tabs --close-templates \
|
--align-reference=type --add-brackets --convert-tabs --close-templates \
|
||||||
--lineend=linux --preserve-date --suffix=none \
|
--lineend=linux --preserve-date --suffix=none --formatted \
|
||||||
src/json.hpp src/json.hpp.re2c test/unit.cpp test/fuzz.cpp benchmarks/benchmarks.cpp doc/examples/*.cpp
|
src/json.hpp src/json.hpp.re2c test/unit.cpp test/fuzz.cpp benchmarks/benchmarks.cpp doc/examples/*.cpp
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -410,6 +410,7 @@ I deeply appreciate the help of the following people.
|
||||||
- [Lv Zheng](https://github.com/lv-zheng) fixed a namespace issue with `int64_t` and `uint64_t`.
|
- [Lv Zheng](https://github.com/lv-zheng) fixed a namespace issue with `int64_t` and `uint64_t`.
|
||||||
- [abc100m](https://github.com/abc100m) analyzed the issues with GCC 4.8 and proposed a [partial solution](https://github.com/nlohmann/json/pull/212).
|
- [abc100m](https://github.com/abc100m) analyzed the issues with GCC 4.8 and proposed a [partial solution](https://github.com/nlohmann/json/pull/212).
|
||||||
- [zewt](https://github.com/zewt) added useful notes to the README file about Android.
|
- [zewt](https://github.com/zewt) added useful notes to the README file about Android.
|
||||||
|
- [Róbert Márki](https://github.com/robertmrk) added a fix to use move iterators.
|
||||||
|
|
||||||
Thanks a lot for helping out!
|
Thanks a lot for helping out!
|
||||||
|
|
||||||
|
@ -427,7 +428,7 @@ $ make
|
||||||
$ ./json_unit "*"
|
$ ./json_unit "*"
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
All tests passed (3344278 assertions in 29 test cases)
|
All tests passed (3344299 assertions in 29 test cases)
|
||||||
```
|
```
|
||||||
|
|
||||||
For more information, have a look at the file [.travis.yml](https://github.com/nlohmann/json/blob/master/.travis.yml).
|
For more information, have a look at the file [.travis.yml](https://github.com/nlohmann/json/blob/master/.travis.yml).
|
||||||
|
|
821
src/json.hpp
821
src/json.hpp
File diff suppressed because it is too large
Load diff
|
@ -7000,13 +7000,13 @@ class basic_json
|
||||||
}
|
}
|
||||||
|
|
||||||
/// return a reference to the value pointed to by the iterator
|
/// return a reference to the value pointed to by the iterator
|
||||||
reference operator*()
|
reference operator*() const
|
||||||
{
|
{
|
||||||
return const_cast<reference>(base_iterator::operator*());
|
return const_cast<reference>(base_iterator::operator*());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// dereference the iterator
|
/// dereference the iterator
|
||||||
pointer operator->()
|
pointer operator->() const
|
||||||
{
|
{
|
||||||
return const_cast<pointer>(base_iterator::operator->());
|
return const_cast<pointer>(base_iterator::operator->());
|
||||||
}
|
}
|
||||||
|
|
|
@ -12499,4 +12499,15 @@ TEST_CASE("regression tests")
|
||||||
CHECK(j3b.dump() == "1E04");
|
CHECK(j3b.dump() == "1E04");
|
||||||
CHECK(j3c.dump() == "1e04");
|
CHECK(j3c.dump() == "1e04");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SECTION("issue #233 - Can't use basic_json::iterator as a base iterator for std::move_iterator")
|
||||||
|
{
|
||||||
|
json source = {"a", "b", "c"};
|
||||||
|
json expected = {"a", "b"};
|
||||||
|
json dest;
|
||||||
|
|
||||||
|
std::copy_n(std::make_move_iterator(source.begin()), 2, std::back_inserter(dest));
|
||||||
|
|
||||||
|
CHECK(dest == expected);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue