Commit graph

2634 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
e48114bbd6
🔨 check for value of _HAS_CXX17 2017-04-09 14:02:04 +02:00
Niels Lohmann
628be157a2
🐛 added fix for #464 2017-04-09 13:52:04 +02:00
Niels Lohmann
c40c8ac92e
👷 excluding MSVC 2015 with "/permissive- /std:c++latest /utf-8" 2017-04-09 12:00:30 +02:00
Niels Lohmann
a9f4094580
👷 another try 2017-04-09 11:47:31 +02:00
Niels Lohmann
180d249f6c
👷 another try 2017-04-09 11:38:42 +02:00
Niels Lohmann
d3d87674c8
👷 fixed AppVeyor syntax 2017-04-09 11:00:39 +02:00
Niels Lohmann
9d9c5216d7
👷 additional flags for MSVC #464
To test a fix for issue #464 (not yet implemented), we first need to
have  an MSVC build with “/permissive- /std:c++latest /utf-8”.
2017-04-09 10:59:45 +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
d4e49873b7
👷 experimenting with configurations 2017-04-08 21:56:42 +02:00
Niels Lohmann
97a25de938
proposal for #428
This implementation forwards the iterators to std::map::insert.
2017-04-07 18:29:09 +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