- 12 3月, 2017 4 次提交
-
-
由 Niels Lohmann 提交于
-
由 Niels Lohmann 提交于
MSVC does not define __cpp_exceptions, but seems to use _CPPUNWIND when exception support is switched on, see https://msdn.microsoft.com/en-us/library/b0084kay.aspx.
-
由 Niels Lohmann 提交于
I used __EXCEPTIONS to detect whether exceptions are supported. Apparently, this is a macro that is only used by libstdc++ (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64276). It’s much cleaner to use __cpp_exceptions as it is in the standard since C++98. Note that compiling the unit-tests with “-fno-exceptions” still does not work, because Catch uses throw internally. However, the library’s exceptions can be switched off by defining JSON_NOEXCEPTION.
-
由 Niels Lohmann 提交于
-
- 11 3月, 2017 7 次提交
-
-
由 Niels Lohmann 提交于
Ran “make pretty” and added a note to the README file.
-
由 Niels Lohmann 提交于
Fix -Weffc++ warnings (GNU 6.3.1)
-
由 Niels Lohmann 提交于
-
由 Niels Lohmann 提交于
Adds a to_json function for std::vector<bool> to allow implicit conversion from bit vectors to basic_json.
-
由 Ted Lyngmo 提交于
-
由 Ted Lyngmo 提交于
-
由 Ted Lyngmo 提交于
-
- 10 3月, 2017 1 次提交
-
-
由 Niels Lohmann 提交于
The original test case relied on an invalidated iterator. This error did not occur before, but only with GCC with -D_GLIBCXX_DEBUG. This commit fixes the test case. The library is unaffected by this change.
-
- 03 3月, 2017 3 次提交
-
-
由 Niels Lohmann 提交于
-
由 Niels Lohmann 提交于
-
由 Niels Lohmann 提交于
-
- 02 3月, 2017 2 次提交
-
-
由 Niels Lohmann 提交于
The constructor basic_json(std::istream&, const parser_callback_t) has been deprecated since version 2.0.0. This commit removes it together with its code example, deprecation macro, and test cases. The code now also compiles with -W-deprecated-declarations.
-
由 Niels Lohmann 提交于
I created a wiki page https://github.com/nlohmann/json/wiki/Road-toward-3.0.0 to describe the transition toward version 3.0.0. On this page, all API-breaking changes shall be documented.
-
- 01 3月, 2017 4 次提交
-
-
由 Niels Lohmann 提交于
The library does not preserve the insertion order of object keys. There are frequent requests to change the library in this aspect. The README and the contribution guidelines now contain links to containers that can be used to replace std::map to preserve the insertion order.
-
由 Niels Lohmann 提交于
Moved all dump()-related functions into a class "serializer". This fix includes a lot of performance improvements yielding a 7% speedup for serialization. Details on the individual steps can be found in the commit messages. Individual benchmark numbers: before: dump jeopardy.json 5 374555228 ns/op dump jeopardy.json with indent 5 430953700 ns/op dump numbers/floats.json 5 622938509 ns/op dump numbers/signed_ints.json 20 82177979 ns/op after: dump jeopardy.json 5 335449757 ns/op -11% dump jeopardy.json with indent 5 375467773 ns/op -13% dump numbers/floats.json 5 584611852 ns/op -7% dump numbers/signed_ints.json 20 68289574 ns/op -17%
-
由 Niels Lohmann 提交于
- Added comments for the serializer class. - Added test case for resizing of the indentation string. - Using std::none_of to check if “.0” needs to be added to floating-point number.
-
由 Niels Lohmann 提交于
snprintf returns an int, but we later assign it a difference_type which is usually a long.
-
- 28 2月, 2017 4 次提交
-
-
由 Niels Lohmann 提交于
A lot of small changes to avoid memory allocations: - The locale is only queried once rather than with every number serialization. - The indentation string is recycled between different calls. - The string escape function avoids a copy if no escaping is necessary. - The string escape and the space function use a complete switch case instead of cascaded ifs. Cachegrind measures some 15% performance improvement.
-
由 Niels Lohmann 提交于
Treated the size of the range as the number of thousand separators. This logical error yielded a negative value for written_bytes and eventually an infinite loop, as written_bytes was converted to an unsigned value.
-
由 Niels Lohmann 提交于
By merging numtostr into serializer, we can write directly to the output stream. As a consequence, all stream calls are now unformatted.
-
由 Niels Lohmann 提交于
The class is currently just a wrapper for an std::ostream and collects all functions related to serialization. The next step should be recycling of variables to avoid repetitive initialization for each recursive dump call.
-
- 27 2月, 2017 4 次提交
-
-
由 Niels Lohmann 提交于
This reverts commit 909b439b. For some strange reason, the test suite crashes when compiled with GCC.
-
由 Niels Lohmann 提交于
numtostr now directly writes to a stream. Return value of snprintf is reused to avoid finding end of string. Cachegrind suggests a 1% performance increase.
-
由 Niels Lohmann 提交于
All ‘<<‘ calls have been replaced by write()/put() calls. The indentation strings needs not to be resized. Cachegrind measures 1% performance improvement.
-
由 Niels Lohmann 提交于
Indentation string is recycled to avoid allocations. Comma-separation in objects does not need an if any more. Cachegrind measures 1% performance improvement.
-
- 26 2月, 2017 5 次提交
-
-
由 Niels Lohmann 提交于
Added separate code paths for normal output and pritty-printed output. This allowed to remove most of the ifs along the way. Benchmarks and cachegrind suggest a 10% performance improvement.
-
由 Niels Lohmann 提交于
-
由 Niels Lohmann 提交于
-
由 Niels Lohmann 提交于
-
由 Niels Lohmann 提交于
-
- 25 2月, 2017 3 次提交
-
-
由 Niels Lohmann 提交于
-
由 Niels Lohmann 提交于
-
由 Niels Lohmann 提交于
-
- 23 2月, 2017 3 次提交
-
-
由 Niels Lohmann 提交于
-
由 Niels Lohmann 提交于
-
由 Niels Lohmann 提交于
🔀 merge branch 'cotire' of https://github.com/tusharpm/json into tusharpm-cotire
-