Théo DELRIEU
5839795725
remove useless helpers
2017-01-21 16:14:22 +01:00
Théo DELRIEU
b4cea6825d
remove is_compatible_array_type_impl trait
2017-01-21 16:14:22 +01:00
Théo DELRIEU
b2543e06d8
removed is_compatible_float_type trait
2017-01-21 16:14:22 +01:00
Théo DELRIEU
be6b417c87
tweak SFINAE checks for internal types (see commit body)
...
only check for public types (iterators, json_pointer)
for private ones (m_array.iterator, primitive_iterator) simply double
parentheses on relevant Catch checks
2017-01-21 16:14:22 +01:00
Théo DELRIEU
317883b21b
cleanup, details in body
...
removes:
- is_basic_json_compatible_type traits
- a useless operator=
- void_t
- disjunction
changes:
- is_compatible_object_type's first argument is BasicJson
2017-01-21 16:14:22 +01:00
Théo DELRIEU
4e8089b9de
remove old get/get_impl overloads (doc removal is of course temporary)
2017-01-21 16:14:22 +01:00
Théo DELRIEU
7e6a6f978e
replace constructor by from/to_json: array_t
2017-01-21 16:14:22 +01:00
Théo DELRIEU
c847e0eea2
replace constructor by from/to_json: array_t
...
- tweaked a bit how `get<container<json>>` is handled
- added a from_json overload for forward list
2017-01-21 16:14:22 +01:00
Théo DELRIEU
6d427acdde
replace constructor by from/to_json: unscoped enum types
...
this also means that one can do: j.get<unscoped_enum>();
2017-01-21 16:14:22 +01:00
Théo DELRIEU
f00898331e
replace constructor by from/to_json: number_integer_t
2017-01-21 16:14:22 +01:00
Théo DELRIEU
a32de3b528
replace constructor by from/to_json: number_unsigned_t
...
This commit forces a design change in custom JSONSerializer, which might
be temporary
2017-01-21 16:14:21 +01:00
Théo DELRIEU
d257149f36
replace constructor by from/to_json: number_float_t
2017-01-21 16:14:21 +01:00
Théo DELRIEU
bbe40641a3
replace constructor by from/to_json: string_t
2017-01-21 16:14:21 +01:00
Théo DELRIEU
6b89785fba
replace constructor by from/to_json: boolean_t
2017-01-21 16:14:21 +01:00
Théo DELRIEU
c833b22b7b
move type_name outside of basic_json, make it a friend
2017-01-21 16:14:21 +01:00
Théo DELRIEU
d359684f2b
move enum class value_t outside of basic_json
2017-01-21 16:14:21 +01:00
Niels Lohmann
034d5ed97e
💄 some cleanup
2017-01-21 16:14:21 +01:00
Niels Lohmann
be1d3de49b
💄 moved changes to re2c file and ran make pretty
2017-01-21 16:14:21 +01:00
Théo DELRIEU
aa2679a8ce
fix tests, avoid instantiating JSONSerializer when it will not be used
2017-01-21 16:14:21 +01:00
Théo DELRIEU
3d405c6883
add support for enum classes
2017-01-21 16:14:21 +01:00
Théo DELRIEU
f5cb089f89
add an enum constructor (quickfix)
2017-01-21 16:14:21 +01:00
Théo DELRIEU
1eafac7220
remove explicit keyword on udt-constructor
2017-01-21 16:14:21 +01:00
Théo Delrieu
c0c72b5b62
rewrite unit-udt: basic usage
2017-01-21 16:14:21 +01:00
Théo DELRIEU
60e6f822fa
add support for non-default-constructible udt
2017-01-21 16:14:21 +01:00
Théo DELRIEU
e5999c6c82
add a few tests
2017-01-21 16:14:21 +01:00
Théo Delrieu
74bb11d92c
remove some useless checks, format a bit, added some comments
2017-01-21 16:14:21 +01:00
Théo DELRIEU
907484fb43
format biggest lines
2017-01-21 16:14:21 +01:00
Théo Delrieu
47bc402113
only use conjunction & co when needed to avoid MSVC crashing
2017-01-21 16:14:21 +01:00
Théo DELRIEU
ee19acaf05
add is_compatible_basic_json_type trait
2017-01-21 16:14:21 +01:00
Théo Delrieu
9b401972a0
add a macro for has_xxx types
2017-01-21 16:14:21 +01:00
Théo DELRIEU
e2dbe7a69f
correctly constrain basic_json udt constructor
2017-01-21 16:14:21 +01:00
Théo DELRIEU
0d91113ccf
add negation, disjunction, and conjunction from C++17
2017-01-21 16:14:21 +01:00
Théo DELRIEU
88819449c2
remove constraints on JSONSerializer instances, constrain correctly new methods
2017-01-21 16:14:21 +01:00
Théo DELRIEU
23bd2bce35
add is_compatible_* traits
2017-01-21 16:14:21 +01:00
Théo DELRIEU
178441cdfd
add basic test for custom serializer
2017-01-21 16:14:21 +01:00
Théo DELRIEU
2bc685f6b4
to_json and from_json takes both two arguments now
...
the first is the basic_json type, the second the user-defined type
2017-01-21 16:14:21 +01:00
Théo DELRIEU
33abccf847
add template arguments for JSONSerializer
2017-01-21 16:14:21 +01:00
Théo DELRIEU
7dc268ef42
add first version for alternate implementation
2017-01-21 16:14:21 +01:00
Théo DELRIEU
4cdc61e493
move most SFINAE trickery in to/from_json_fn
2017-01-21 16:14:21 +01:00
Théo DELRIEU
03b391c37b
remove has_destructor and has_json_traits, use decltype instead
2017-01-21 16:14:21 +01:00
Théo DELRIEU
12b4555b13
use uncvref_t<T> instead of remove_cv_t<remove_reference_t<T>>>
2017-01-21 16:14:21 +01:00
Théo DELRIEU
877d96c1d8
rename __static_const to _static_const (reserved identifier)
2017-01-21 16:14:21 +01:00
Théo DELRIEU
d54d6bb84c
add alias templates to reduce boilerplate
2017-01-21 16:14:21 +01:00
Théo DELRIEU
fe628b585b
anonymous namespace renamed to detail
2017-01-21 16:14:21 +01:00
Théo Delrieu
b443edf49e
add first version support for user-defined types
2017-01-21 16:14:20 +01:00
Niels Lohmann
ce0b3fe5a3
🚧 made type_name() public
2017-01-21 16:12:17 +01:00
Niels Lohmann
a00149f8ee
🐛 fixed logic error
2017-01-16 22:36:58 +01:00
Niels Lohmann
1ab26ab367
✨ option to switch off exceptions
2017-01-16 22:11:07 +01:00
Niels Lohmann
dd45ba6f89
🚧 renamed version()
to meta()
2017-01-08 09:19:44 +01:00
Alex Astashyn
c236b596c9
Merge upstream/develop into feature/locale_independent_str_to_num
2017-01-04 19:20:16 -05:00
Niels Lohmann
e1b89dd1d6
Merge branch 'develop' into feature/release_information
2017-01-04 20:06:23 +01:00
Niels Lohmann
9f6c86f233
🐛 fix for #417
2017-01-04 18:54:44 +01:00
Niels Lohmann
4765070318
📝 added documentation wrt. UTF-8 strings #406
2017-01-04 18:07:46 +01:00
Niels Lohmann
cdd3b5a68c
🚑 fix for #416
2017-01-03 23:52:01 +01:00
Niels Lohmann
767637877b
💄 cleanup
2017-01-03 22:37:07 +01:00
Niels Lohmann
245a69d554
💄 ran clang-tidy
2017-01-03 21:33:23 +01:00
Niels Lohmann
ea4d71ee21
Merge branch 'develop' into feature/release_information
2017-01-02 17:26:00 +01:00
Niels Lohmann
8b46eb8ec0
📄 it's 2017 already
2017-01-02 09:40:00 +01:00
Niels Lohmann
60b3703c62
🔖 version bump to 2.0.10
2017-01-02 09:35:57 +01:00
Niels Lohmann
d173517212
💄 clean up
2017-01-02 09:21:26 +01:00
Niels Lohmann
cf9bf2d913
🚑 fix for #411 and #412
2017-01-01 15:28:01 +01:00
Niels Lohmann
328eb55dc4
🚧 started working on #397
2016-12-30 14:02:51 +01:00
Niels Lohmann
f7575dee94
Merge branch 'develop' into feature/release_information
2016-12-30 12:29:01 +01:00
Niels Lohmann
42a8c64499
🔖 added version information
2016-12-30 12:28:52 +01:00
Niels Lohmann
f0edab2363
🚑 fix for #408
2016-12-29 17:00:02 +01:00
Niels Lohmann
383a29a924
🚑 fix for #407
2016-12-29 16:14:15 +01:00
Niels Lohmann
871cebaf84
🚑 fix for #405
2016-12-29 15:39:16 +01:00
Niels Lohmann
8381cd6020
🚑 removed unsafe call to strerror #403
2016-12-28 14:19:08 +01:00
Niels Lohmann
55be721615
Merge branch 'develop' into feature/fuzzer
2016-12-28 12:11:51 +01:00
Niels Lohmann
acb7e0558d
🚑 fixed bugs detected by AFL-Fuzz
2016-12-28 12:09:15 +01:00
Niels Lohmann
dbdcb3fec8
🐛 fixed bug in CBOR/MessagePack deserialization
2016-12-25 16:06:36 +01:00
Niels Lohmann
6e129fbfb7
📝 some small documentation fixes
2016-12-25 14:39:08 +01:00
Niels Lohmann
303e873ae8
🔖 bumped version to 2.0.9
2016-12-16 20:45:46 +01:00
Niels Lohmann
f6f7fed99a
🚨 removed some warnings
2016-12-16 18:57:19 +01:00
Niels Lohmann
f24e4f680e
🎨 cleanup after PR #395
2016-12-14 22:30:09 +01:00
Niels Lohmann
fe00b368ae
🔀 merge pull request #395 from Bosswestfalen/develop
...
Replace class iterator and const_iterator by using a single template class to reduce code.
2016-12-14 21:56:43 +01:00
Yixin Zhang
703d4baf8b
Fixed conversion warnings
...
Use static_cast on digit.
2016-12-12 21:12:08 -05:00
Yixin Zhang
bd6422f583
Ran make pretty
2016-12-12 21:12:08 -05:00
Yixin Zhang
1e981115c9
Fix issue #380 : Signed integer overflow check
...
Instead of checking something like `x * y + z > max` where `x * y` can
overflow, check for `x > (max - z) / y` instead.
2016-12-12 21:12:08 -05:00
Alex Astashyn
6fba52b6da
Merged upstream/develop into feature/locale_independent_str_to_num
2016-12-12 20:27:15 -05:00
Alex Astashyn
cd0b651d43
Tweaked check for preserved sign; added LCOV_EXCL_LINE
2016-12-12 19:46:47 -05:00
Niels Lohmann
79fa8b2f41
🚑 fix to address #389
2016-12-12 23:19:43 +01:00
Bosswestfalen
dd3f4f9b92
Replaced class iterator and class const_iterator with aliases of template <typename U> iter_impl. iter_impl has operator const_iterator to create an const_iterator from an iterator.
2016-12-12 19:26:45 +01:00
Niels Lohmann
447e01427d
🚨 fixed some warnings
2016-12-12 18:21:17 +01:00
Niels Lohmann
b8776e8613
🚑 fix for #393
2016-12-12 17:39:56 +01:00
Niels Lohmann
5402458ff5
🚑 fixed an AddressSanitizer warning
2016-12-12 08:13:26 +01:00
Niels Lohmann
a59eb4868a
🔀 Merge branch 'develop' into feature/messagepack
2016-12-11 16:11:43 +01:00
Niels Lohmann
dc6fc3e079
📝 clean up and added documentation for #358
2016-12-11 13:36:08 +01:00
Niels Lohmann
41673e8fed
🐛 fixed CBOR code and added test cases
2016-12-10 23:12:57 +01:00
Niels Lohmann
7e5d6af5c1
🔨 refactored msgpack code
2016-12-10 21:30:18 +01:00
Niels Lohmann
f1b95d78f9
🔨 refactored CBOR code to a switch
2016-12-10 19:29:45 +01:00
Niels Lohmann
d99c230f51
✨ implemented indefinite-length CBOR types ( #387 )
2016-12-10 18:32:56 +01:00
Alex Astashyn
38499e84fc
Removed unused struct; fixed comments
2016-12-08 21:38:14 -05:00
Niels Lohmann
6b84c4155c
🔨 refactored get_from_vector function
...
Snippet from http://stackoverflow.com/a/41031865/266378
2016-12-08 09:37:23 +01:00
Alex Astashyn
0a4a6a8399
Refactored to avoid using exceptions, as there are plans to support exceptionless mode
2016-12-07 19:53:27 -05:00
Niels Lohmann
b7e0c12966
✨ CBOR support for half-precision floats
2016-12-07 21:43:59 +01:00
Niels Lohmann
aab9bbbb93
🐛 fix for CBOR (small integers)
2016-12-07 21:24:42 +01:00
Niels Lohmann
8f6bfe5b32
🔨 refactored function to get numbers from byte vector
2016-12-07 14:47:06 +01:00
Niels Lohmann
a1693bfe48
Merge branch 'develop' into feature/messagepack
2016-12-07 08:39:57 +01:00
Alex Astashyn
d169598c6c
simplified code a bit based on @gregmarr's suggestions
2016-12-06 22:20:48 -05:00