Niels Lohmann
962da00171
✨ implemented an indentation character #520
...
An optional parameter for dump() allows to set the character to use for
indentation (default: space). In case a JSON value is serialized to an
output stream, its fill character is used (and can be set with
std::setfill).
2017-05-07 19:27:40 +02:00
Niels Lohmann
fba1bcdd0b
🐛 fixing #575
...
I forgot to consider the offset.
2017-05-07 13:41:48 +02:00
Niels Lohmann
dbcb032f22
Merge branch 'develop' into feature/manual_lexer
2017-05-05 16:48:47 +02:00
Niels Lohmann
8b9f51179e
✨ started working on #458
...
a simple acceptor function
2017-04-24 17:46:21 +02:00
Niels Lohmann
2df8f12c09
🏁 another fix for MSVC #464
...
needed for VS2015.3 with /std:c++latest
2017-04-23 20:51:29 +02:00
Niels Lohmann
e24df7eca9
📝 improved documentation
2017-04-23 15:10:40 +02:00
Niels Lohmann
2a21146160
Merge branch 'develop' into feature/manual_lexer
2017-04-22 11:35:58 +02:00
Niels Lohmann
db9bf953f3
🔨 improved diagnostic output
2017-04-15 10:40:10 +02:00
Niels Lohmann
717106eced
🔨 templated output_adapter and used in class serializer
2017-04-14 19:49:05 +02:00
Niels Lohmann
2d2b98a50a
Merge branch 'develop' into feature/manual_lexer
2017-04-12 18:07:25 +02:00
Niels Lohmann
d4469233ac
Merge branch 'develop' into feature/insert
2017-04-12 18:01:06 +02:00
Niels Lohmann
d7e57e3b73
🔨 added an output adapter for the binary writer
2017-04-09 22:13:26 +02:00
Niels Lohmann
f3e43d7c6f
🔨 some cleanup
2017-04-09 21:14:51 +02:00
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
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
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
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
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
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
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