Commit graph

1750 commits

Author SHA1 Message Date
Niels Lohmann
186a9fd44d
🔨 simplified interface for parser, lexer, and binary_reader
These classes are now constructed with an interface adapter. This moves
complexity from various places into the interface adapter class, or to
some factories which now implement the different flavors of input.

Furthermore, input adapters are kept in std::shared_ptr to avoid the
need of manual deletion.
2017-04-09 19:28:15 +02:00
Niels Lohmann
6f99d5b2e9
🔨 fixed test case
One test case for CBOR and MessagePack assumed little endianess.
2017-04-08 23:39:17 +02:00
Niels Lohmann
d62d48fc48
🔀 merge branch 'develop' into feature/manual_lexer 2017-04-07 17:19:52 +02:00
Niels Lohmann
90273e930c
🐛 fix for #512
We totally forgot to implement the comparison operators other than ==
and != for scalar types. Consequently, comparing a JSON value with a
scalar type led to compile errors.
2017-04-07 15:44:41 +02:00
Niels Lohmann
ff72f38863
🔨 fixed another warning
Do not store eof() in a char buffer…
2017-04-06 19:54:08 +02:00
Niels Lohmann
b992acc2e7
🔨 fixed a compiler warning 2017-04-05 20:39:27 +02:00
Niels Lohmann
08fdfcca9a
🔨 implemented a binary writer 2017-04-04 23:17:43 +02:00
Niels Lohmann
c28bf823bc
🔨 added endianess check 2017-04-04 17:30:43 +02:00
Niels Lohmann
b15fc13dd1
🔨 implemented MessagePack in binary_reader 2017-04-04 16:59:19 +02:00
Niels Lohmann
3a34f2d82c
Merge branch 'develop' into feature/manual_lexer 2017-04-04 15:55:40 +02:00
Niels Lohmann
782570d46f
🔨 cleanup 2017-04-03 22:58:46 +02:00
Niels Lohmann
4f6b63e492 Merge pull request #545 from theodelrieu/feature/enum_class_support
add enum class default conversions
2017-04-03 22:13:59 +02:00
Niels Lohmann
ea667db446
🔨 fixed compilation errors
TIL about C++:

executing m[key()]=val(); for a std::map executes

First key() then val() with Clang

First val() then key() with GCC

#wat
2017-04-03 21:53:23 +02:00
Niels Lohmann
89efe627fe
🔨 a lot of restructuring
- removed uncached input stream adapter; it was too slow anyway
- implemented a class binary_read which parses CBOR based on input
adapters
- in the CBOR parser, numbers are created via memcpy to avoid undefined
behavior
2017-04-02 18:46:21 +02:00
Théo DELRIEU
af9b21151c add enum class default conversions 2017-04-02 13:10:15 +02:00
Niels Lohmann
3a5cf9bd0a
🔨 improved code coverage 2017-04-01 08:34:58 +02:00
Niels Lohmann
c32d2e5b3c
🔨 removed unget() function 2017-04-01 00:36:05 +02:00
Niels Lohmann
8d393b5eff
Merge branch 'develop' into feature/manual_lexer 2017-03-31 23:58:45 +02:00
Niels Lohmann
3fa0610856
🔨 added minibench to ignore list 2017-03-31 23:57:24 +02:00
Niels Lohmann
50ee0a62f5
🔨 replaced lookup-tables by switches 2017-03-31 23:24:33 +02:00
Niels Lohmann
4c821c9e9c
🔨 moved buffer size to interface 2017-03-31 17:11:51 +02:00
Niels Lohmann
d07596a0ea
📝 mentioned #540 and fixed #538 2017-03-30 17:39:02 +02:00
Niels Lohmann
7881783745 Merge pull request #540 from tinloaf/diagnostics
Properly pop diagnostics
2017-03-30 17:25:29 +02:00
Lukas Barth
0b1b6307a5 Also change the re2c file 2017-03-30 16:14:02 +02:00
Lukas Barth
40aff4182f Pop for every push 2017-03-30 16:10:03 +02:00
Niels Lohmann
60057a4728
🔨 fixed bugs introduced by merging from develop 2017-03-29 07:54:26 +02:00
Niels Lohmann
a690a9f2d2
Merge branch 'develop' into feature/manual_lexer 2017-03-29 00:57:09 +02:00
Niels Lohmann
c2e80a72d7
🔨 deprecated j << istream / j >> ostream functions #367
The implementation is non-standard. Deprecation allows a simpler API in
the future without removing any features.
2017-03-29 00:39:47 +02:00
Niels Lohmann
9578c0f700
Merge branch 'develop' into feature/manual_lexer 2017-03-28 23:47:17 +02:00
Niels Lohmann
b4dbebffcd
added regression test for #464 2017-03-28 23:28:54 +02:00
Niels Lohmann
62dfdf3f5d
📝 addressed #514
NaN values never compare equal to themselves or to other NaN values.
2017-03-28 23:24:59 +02:00
Niels Lohmann
5d586b0192
🔨 cleanup 2017-03-28 23:20:45 +02:00
Niels Lohmann
19d119e18c
🔨 fixed a warning in MSVC 2017-03-28 22:10:24 +02:00
Niels Lohmann
6b12e40478
🏁 removed __builtin_expect for MSVC 2017-03-28 21:55:26 +02:00
Niels Lohmann
d025b6aaf7
Merge branch 'develop' into feature/manual_lexer 2017-03-28 21:39:36 +02:00
Niels Lohmann
19cd206d99
📝 documented Xcode 8.3 2017-03-28 21:39:16 +02:00
Niels Lohmann
a0aa6ad2b2
👷 added Xcode 8.3
https://blog.travis-ci.com/2017-03-28-xcode-83-ga-is-here
2017-03-28 20:42:12 +02:00
Niels Lohmann
d37ca2eba8
🔨 fixed test case 2017-03-28 20:29:27 +02:00
Niels Lohmann
50e251f5f6
🔨 adjusted test case to new signature of token_type_name() 2017-03-28 20:17:00 +02:00
Niels Lohmann
6a6fbea62c
🔨 some cleanup 2017-03-28 20:08:08 +02:00
Niels Lohmann
1e495945f1
🔨 fixed buffer overflow 2017-03-28 18:06:43 +02:00
Niels Lohmann
bbb6bd9de5
🔨 fixing last failing test cases 2017-03-28 17:00:03 +02:00
Niels Lohmann
b0c47abd88
🔨 rewrote string parser to cope with UTF-8 2017-03-27 22:58:44 +02:00
Niels Lohmann
f75e195db3
🔨 added code for user-defined number types 2017-03-26 18:45:04 +02:00
Niels Lohmann
3425527970
🔨 added code for locale-independent number parsing 2017-03-26 18:12:58 +02:00
Niels Lohmann
06e2a291b1
🔨 fixed number parsing 2017-03-26 17:26:41 +02:00
Niels Lohmann
3b069b4b4c
🔨 adjusted more expected exceptions 2017-03-26 16:19:07 +02:00
Niels Lohmann
99e0d8b339
🔨 fixed \uxxxx parsing 2017-03-26 15:29:08 +02:00
Niels Lohmann
f47cf152a8
Merge branch 'develop' into feature/manual_lexer 2017-03-26 13:14:14 +02:00
Niels Lohmann
d4d51460ab
Merge branch 'feature/noexcept_exceptions' into develop 2017-03-26 12:54:22 +02:00