1. 03 Mar, 2017 1 commit
  2. 02 Mar, 2017 1 commit
  3. 01 Mar, 2017 4 commits
    • 🔨 started with user-defined exceptions #301 #244 · c085e3ba
      Niels Lohmann authored
      Added class hierarchy for user-defined exceptions (#244). Integrated
      parse exceptions 101-103. Parse exceptions include the byte count of
      the last read character to locate the position of the error (#301).
    • 🔥 removed deprecated constructor #480 · 7b8fd864
      Niels Lohmann authored
      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.
    • 📝 added note to 3.0.0 wiki page #474 · 6b3912d9
      Niels Lohmann authored
      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.
    • 📝 added a note to ordered maps · f84ac523
      Niels Lohmann authored
      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.
  4. 28 Feb, 2017 5 commits
    • 🔀 merge branch 'feature/serialization_class' into develop (#418) · 41f9b325
      Niels Lohmann authored
      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%
    • 💄 cleanup · d69242c6
      Niels Lohmann authored
      - 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.
    • 💄 fixed a warning · 059f21aa
      Niels Lohmann authored
      snprintf returns an int, but we later assign it a difference_type which
      is usually a long.
    • micro-optimization of dump() · 224f9907
      Niels Lohmann authored
      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.
    • 🐛 fixed a logical error · fc48b8ac
      Niels Lohmann authored
      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.
  5. 27 Feb, 2017 5 commits
  6. 26 Feb, 2017 6 commits
  7. 25 Feb, 2017 3 commits
  8. 22 Feb, 2017 5 commits
  9. 21 Feb, 2017 1 commit
  10. 20 Feb, 2017 8 commits
  11. 19 Feb, 2017 1 commit