Commit Graph

34 Commits

Author SHA1 Message Date
Evan Driscoll
d0eb2f21d3 Refactor: fancy_serializer passes json_pointer to stylizer 2018-06-03 22:06:27 -05:00
Evan Driscoll
ca3f3959a8 Refactor: fancy_serializer tracks a json_pointer context 2018-06-03 22:02:07 -05:00
Evan Driscoll
6c746460c6 Add missing header file 2018-06-03 21:51:45 -05:00
Evan Driscoll
860661987f Spaces after commas (in [1, 2]) is controllable separately from multiline 2018-06-03 00:02:49 -05:00
Evan Driscoll
e7b02c10dd Spaces after a colon (in {"k": v}) controllable separately from multiline 2018-06-03 00:00:12 -05:00
Evan Driscoll
ec756e47ad Refactor: don't indent when multiline is false 2018-06-02 23:52:30 -05:00
Evan Driscoll
af8dd92a0c Refactor: introduce explicit multiline control
Instead of depending on indent_step
2018-06-02 23:48:26 -05:00
Evan Driscoll
5e10e97296 Refactor: dump_object_key_value
This isn't as clean as I wanted -- there's a lot more context
than I realized -- but I think it's still an improvement and
will become even moreso later
2018-06-02 23:35:38 -05:00
Evan Driscoll
ef679f8988 Fancy serializer: styles continue to propagate if not overridden
This is half a bug fix half just continuing work from befor
2018-06-02 23:17:42 -05:00
Evan Driscoll
186c7df25a Can style subobjects of a object differently, by key 2018-06-02 23:10:28 -05:00
Evan Driscoll
7fa4431474 Refactor and prep: introduce new fancy_serializer_stylizer class
This will be able to provide multiple styles depending on context
2018-06-02 22:47:05 -05:00
Evan Driscoll
28e7eecf33 Fancy serializer can limit recursion depth
Elides objects with ... if that limit is exceeded
2018-06-02 22:22:24 -05:00
Evan Driscoll
1c1c789084 Serializer edge case bug fix: very deep indents ignored indent_char 2018-06-02 21:34:55 -05:00
Evan Driscoll
a983e47619 Refactor: dump_object no longer splits cases by indent 2018-06-02 21:08:53 -05:00
Evan Driscoll
9cdf54b886 Refactor: dump_array doesn't split cases for indent 2018-06-02 21:01:22 -05:00
Evan Driscoll
cc4206a718 West const to match existing code 2018-06-02 20:52:12 -05:00
Evan Driscoll
dafee1343c Refactor: dump tracks recursive depth, not indent size
This makes the depth independent of the indent_step and independent
of whether it's indenting at all
2018-06-02 20:51:26 -05:00
Evan Driscoll
f180227b6d Fancy serializer: Split object and array handling into functions 2018-06-02 20:30:12 -05:00
Evan Driscoll
7dbfe2459b Refactor: move string handling to dump_string 2018-06-02 20:15:07 -05:00
Evan Driscoll
d54f4653ed It's now possible to limit the size of strings 2018-06-02 02:09:04 -05:00
Evan Driscoll
003f3e298b Introduce fancy_serializer_style 2018-06-02 01:18:55 -05:00
Evan Driscoll
e38b4e8031 Re-support indentation in fancy_serializer 2018-06-02 01:07:25 -05:00
Evan Driscoll
297ff8e53f Use primitive_serializer in fancy_serializer 2018-06-02 00:23:00 -05:00
Evan Driscoll
e9cb8f604d Split primitive serialization into own class 2018-06-02 00:16:08 -05:00
Evan Driscoll
607b973035 Fancy Serialization: copy serializer to fancy_serializer
1. Copy header and rename; add to Makefile; amalgamate
2. Add as friend to basic_json
3. Copy operator<< to 'fancy_dump' and simplify
4. Change test to refer to that
2018-06-01 23:13:49 -05:00
Evan Driscoll
fe90fa5181 Run 'make almalgamate'
astyle reformatted some stuff... I... don't know why.
2018-06-01 23:11:34 -05:00
Matthias Möller
ecadcdb593 added char cast
should fix the GCC unittest
2018-05-31 16:36:16 +02:00
Matthias Möller
64acb42aa7 remove stringstream dependency 2018-05-31 13:45:58 +02:00
Niels Lohmann
896a9db461
🔨 improved code #1021 2018-03-28 19:37:21 +02:00
Niels Lohmann
a9baab76c2
🚑 fix for #1021 2018-03-28 18:20:55 +02:00
Vitaliy Manushkin
830f3e5290 forward alternative string class from output_adapter to output_string_adapter 2018-03-10 23:58:16 +03:00
Vitaliy Manushkin
faccc37d0d dump to alternate implementation of string, as defined in basic_json template 2018-03-10 17:19:28 +03:00
Niels Lohmann
d2d65bb25b
♻️ refined SFINAE to fix some warnings 2018-03-07 22:01:44 +01:00
Théo DELRIEU
14cd019861
fix cmake install directory (for real this time)
* Rename 'develop' folder to 'include/nlohmann'
* Rename 'src' folder to 'single_include/nlohmann'
* Use <nlohmann/*> headers in sources and tests
* Change amalgamate config file
2018-02-01 11:06:51 +01:00