Niels Lohmann
b86d2148ef
🔨 added user-defined exceptions 106-108
...
These exceptions occur when JSON pointers are malformed.
2017-03-03 11:56:58 +01:00
Niels Lohmann
06815d274e
🔨 added user-defined exceptions 104 and 105
...
These exceptions are thrown in case of parse errors in JSON patch
documents.
2017-03-02 17:55:13 +01:00
Niels Lohmann
c085e3bac2
🔨 started with user-defined exceptions #301 #244
...
Added class hierarchy for user-defined exceptions (#244 ). Integrated
parse exceptions 101-103. Parse exceptions include the byte count of
the last read character to locate the position of the error (#301 ).
2017-03-01 21:28:44 +01:00
Niels Lohmann
7b8fd864e2
🔥 removed deprecated constructor #480
...
The constructor basic_json(std::istream&, const parser_callback_t) has
been deprecated since version 2.0.0. This commit removes it together
with its code example, deprecation macro, and test cases. The code now
also compiles with -W-deprecated-declarations.
2017-03-01 17:49:03 +01:00
Niels Lohmann
d69242c6ba
💄 cleanup
...
- Added comments for the serializer class.
- Added test case for resizing of the indentation string.
- Using std::none_of to check if “.0” needs to be added to
floating-point number.
2017-02-28 19:20:50 +01:00
Niels Lohmann
059f21aada
💄 fixed a warning
...
snprintf returns an int, but we later assign it a difference_type which
is usually a long.
2017-02-28 17:24:03 +01:00
Niels Lohmann
224f99070b
⚡ micro-optimization of dump()
...
A lot of small changes to avoid memory allocations:
- The locale is only queried once rather than with every number
serialization.
- The indentation string is recycled between different calls.
- The string escape function avoids a copy if no escaping is necessary.
- The string escape and the space function use a complete switch case
instead of cascaded ifs.
Cachegrind measures some 15% performance improvement.
2017-02-28 16:28:22 +01:00
Niels Lohmann
fc48b8ac2b
🐛 fixed a logical error
...
Treated the size of the range as the number of thousand separators.
This logical error yielded a negative value for written_bytes and
eventually an infinite loop, as written_bytes was converted to an
unsigned value.
2017-02-28 11:45:38 +01:00
Niels Lohmann
af070744ae
🔨 integrating numtostr into serializer class
...
By merging numtostr into serializer, we can write directly to the
output stream. As a consequence, all stream calls are now unformatted.
2017-02-27 22:10:57 +01:00
Niels Lohmann
54ef5f7b47
🔨 moved serialization functions to serializer class
...
The class is currently just a wrapper for an std::ostream and collects
all functions related to serialization. The next step should be
recycling of variables to avoid repetitive initialization for each
recursive dump call.
2017-02-27 21:22:39 +01:00
Niels Lohmann
9c4919ff34
⏪ " ⚡ micro-optimizations for dump()"
...
This reverts commit 909b439b03
.
For some strange reason, the test suite crashes when compiled
with GCC.
2017-02-27 16:19:07 +01:00
Niels Lohmann
909b439b03
⚡ micro-optimizations for dump()
...
numtostr now directly writes to a stream. Return value of snprintf is
reused to avoid finding end of string. Cachegrind suggests a 1%
performance increase.
2017-02-27 14:58:10 +01:00
Niels Lohmann
0f04e42dd5
⚡ micro-optimizations for dump()
...
All ‘<<‘ calls have been replaced by write()/put() calls. The
indentation strings needs not to be resized. Cachegrind measures 1%
performance improvement.
2017-02-27 01:22:24 +01:00
Niels Lohmann
b1441f3485
⚡ micro-optimizations for dump()
...
Indentation string is recycled to avoid allocations. Comma-separation
in objects does not need an if any more. Cachegrind measures 1%
performance improvement.
2017-02-26 20:58:00 +01:00
Niels Lohmann
bd0326cbc1
⚡ micro-optimizations for dump()
...
Added separate code paths for normal output and pritty-printed output.
This allowed to remove most of the ifs along the way. Benchmarks and
cachegrind suggest a 10% performance improvement.
2017-02-26 16:55:54 +01:00
Niels Lohmann
ae155c4734
💄 cleanup
2017-02-26 14:45:41 +01:00
Niels Lohmann
f1cd15ce7e
⚡ avoid copying a string
2017-02-26 11:22:18 +01:00
Niels Lohmann
27c65b860b
🔖 version 2.1.1
2017-02-25 16:34:38 +01:00
Niels Lohmann
8cec55a271
🚧 fixed more warnings
2017-02-22 18:14:29 +01:00
Niels Lohmann
345a106d73
💄 cleanup
2017-02-22 16:56:56 +01:00
Niels Lohmann
967f9144d4
🚧 overworked fix for #465
2017-02-21 19:11:34 +01:00
Niels Lohmann
7d14f167b8
🚑 fix for #465
2017-02-20 22:48:27 +01:00
Niels Lohmann
f7075be93a
🐛 reverted change for #464
2017-02-20 18:15:50 +01:00
Niels Lohmann
f2dfa09aec
🐛 fix for #464
2017-02-20 18:05:52 +01:00
Niels Lohmann
83a9c60dbd
🔨 refactored code to avoid using strcpy/strlen/strcat ( #463 )
2017-02-20 17:37:34 +01:00
Niels Lohmann
716485a965
🚧 removed decay ( #448 )
2017-02-20 16:27:16 +01:00
Niels Lohmann
7a4a16a7db
💄 updated header list
2017-02-20 16:20:45 +01:00
Niels Lohmann
1f72c38861
🚑 fix for #448
2017-02-19 21:26:53 +01:00
Niels Lohmann
83f1d2c81b
✨ added start index for from_cbor and from_msgpack ( #462 )
2017-02-19 21:17:05 +01:00
Niels Lohmann
4151f2d297
✅ added test with thousands_sep
2017-02-19 20:08:01 +01:00
Niels Lohmann
5b53f03e7c
Merge branch 'develop' into TurpentineDistillery-feature/locale_independent_num_to_str
2017-02-19 19:24:55 +01:00
Niels Lohmann
9a9d0ba3df
🚧 fixing warning C4293 ( #453 )
2017-02-19 17:47:20 +01:00
Niels Lohmann
d1479e47bb
💄 added assertion message
2017-02-18 11:01:03 +01:00
Niels Lohmann
513eb3ab5f
🚧 clean up
2017-02-18 11:00:18 +01:00
Niels Lohmann
0200f2dc62
🚧 fixing warning C4267 ( #453 )
2017-02-17 19:14:21 +01:00
Niels Lohmann
6408402ad2
🔀 merge #378 (for #362 and #454 )
2017-02-16 09:24:45 +01:00
Niels Lohmann
057b1e606b
🔀 merged #415 (fix for #414 )
2017-02-16 08:50:20 +01:00
Niels Lohmann
2c17c1b1b2
💄 cleanup
2017-02-16 08:01:01 +01:00
Niels Lohmann
973402c11e
🚧 replaced throws ( #440 ) and _MAX/_MIN macros ( #451 )
2017-02-15 22:44:18 +01:00
Niels Lohmann
b9f3149451
🚑 fix for #452
2017-02-15 21:30:28 +01:00
Mihai STAN
6bf93b3d06
Merge remote-tracking branch 'upstream/develop' into develop
2017-02-15 15:00:25 +02:00
Niels Lohmann
265c5b5207
🔨 more work on the number parser
2017-02-13 18:51:23 +01:00
Niels Lohmann
c8191c8172
🔨 further cleanup
2017-02-12 18:50:17 +01:00
Niels Lohmann
c2d55109c1
🔨 make lexer distinguishes number types
2017-02-11 16:54:25 +01:00
Niels Lohmann
9f5dccbab5
💄 cleanup
2017-02-11 15:55:53 +01:00
Niels Lohmann
926af6d50b
🔀 merge branch 'develop' into TurpentineDistillery-feature/locale_independent_str_to_num
2017-02-11 15:17:47 +01:00
Niels Lohmann
662a9b8f3c
✏️ fixed more typos
2017-02-08 18:19:41 +01:00
Niels Lohmann
4746a4c536
💄 minor change
2017-02-08 17:56:43 +01:00
Niels Lohmann
8d88a1da2a
🔀 merged #379 and fixed conflicts
2017-02-05 13:13:41 +01:00
Niels Lohmann
c75865d88c
🐛 fixed -Weffc++
warnings
2017-02-01 15:13:21 +01:00
Niels Lohmann
b210f2dbf4
💄 minor refactoring
2017-01-29 21:40:37 +01:00
Niels Lohmann
38e4935db0
📝 added example and documentation for the meta function
2017-01-28 17:12:29 +01:00
Niels Lohmann
cdde1a9436
🔖 set version to 2.1.0
2017-01-28 16:46:03 +01:00
Niels Lohmann
d870826811
🔖 set version to 2.1.0
2017-01-28 16:03:35 +01:00
Niels Lohmann
cd9701b123
💄 cleanup
2017-01-26 20:51:30 +01:00
Niels Lohmann
77bb7af5d9
📝 added more documentation
2017-01-26 07:29:37 +01:00
Niels Lohmann
4d3053cd42
💄 some cleanup
2017-01-25 22:21:07 +01:00
Niels Lohmann
94d9b7bc86
📝 overworked documentation (re-added constructor examples)
2017-01-25 21:59:54 +01:00
Niels Lohmann
ec03c9c53e
📝 overworked docs #435
2017-01-25 19:01:31 +01:00
Mihai STAN
6198439f59
fix #414 - comparing to 0 literal
...
Overload comparison operators for all types that could be converted
to nullptr.
2017-01-24 22:33:37 +02:00
Niels Lohmann
c154f3133d
🚧 rephrased assertions
2017-01-24 15:02:35 +01:00
Niels Lohmann
250e5bf43d
💄 overworked documentation and indentation
2017-01-24 13:47:33 +01:00
Théo DELRIEU
9f8b270ed9
fix some warnings
2017-01-22 14:07:28 +01:00
Théo DELRIEU
9c6ef74a28
add static_asserts/remove the need for CopyConstructible in get
2017-01-21 19:12:40 +01:00
Théo DELRIEU
ba0b35f414
use typename U = uncvref_t where appropriate
2017-01-21 19:12:40 +01:00
Théo DELRIEU
37fd20b2eb
put uncvref_t, enable_if_t, value_t and operator<(value_t) in detail
2017-01-21 19:12:40 +01:00
Théo DELRIEU
7d771c71ed
put back type_name in basic_json
...
This can however not be done easily for value_t, since
external_constructor depends on it, as is operator< which was moved
outside basic_json too.
This is not really an issue, since all basic_json classes share the same
enum
2017-01-21 19:12:40 +01:00
Théo DELRIEU
f997758cad
remove useless forward declaration of primitive_iterator_t
2017-01-21 19:12:40 +01:00
Théo DELRIEU
40ba5a8b7b
remove inline keyword from anonymous namespace (not needed)
2017-01-21 19:12:40 +01:00
Théo DELRIEU
7f359017d2
rename template argument Json -> BasicJsonType
2017-01-21 19:12:40 +01:00
Théo DELRIEU
889b269a4f
rename template argument: BasicJson -> Json
2017-01-21 16:14:23 +01:00
Théo DELRIEU
a6b028286b
move conjunction/disjunction to the top of detail
2017-01-21 16:14:23 +01:00
Théo DELRIEU
d566bb81c4
use switchs where appropriate
2017-01-21 16:14:23 +01:00
Théo DELRIEU
1e20887cff
use JSON_THROW
2017-01-21 16:14:22 +01:00
Théo DELRIEU
447c6a670f
run make re2c
2017-01-21 16:14:22 +01:00
Théo DELRIEU
3e15b551e0
run make pretty
2017-01-21 16:14:22 +01:00
Théo DELRIEU
b56117b148
add noexcept tests
2017-01-21 16:14:22 +01:00
Théo DELRIEU
af94e712c7
add basic doxygen documentations
2017-01-21 16:14:22 +01:00
Théo DELRIEU
1d87097741
remove some boilerplate
2017-01-21 16:14:22 +01:00
Théo DELRIEU
e60e458a7e
move static_const to the detail namespace
2017-01-21 16:14:22 +01:00
Théo DELRIEU
794dae8911
apply changes to json.hpp.re2c
2017-01-21 16:14:22 +01:00
Théo DELRIEU
68081cd112
remove useless file
2017-01-21 16:14:22 +01:00
Théo DELRIEU
07bc82d3a7
put const to the left
2017-01-21 16:14:22 +01:00
Théo DELRIEU
f2c71fafda
minor message/comments tweak
2017-01-21 16:14:22 +01:00
Théo DELRIEU
63e4249e9f
use a priority_tag instead of int and longs with sfinae-dispatch
2017-01-21 16:14:22 +01:00
Théo DELRIEU
b8012876a5
add noexcept checks, and some missing noexcepts
2017-01-21 16:14:22 +01:00
Théo DELRIEU
a9d5ae4fad
put back a specialization for containers with a reserve method
2017-01-21 16:14:22 +01:00
Théo DELRIEU
e247e01a6e
use static_casts to silence MSVC warnings
...
Those warnings are not "fixed", but that's intentional.
Truncations are expected when ArithmeticType is not the same type than
number_unsigned_t (or another basic_json template argument)
2017-01-21 16:14:22 +01:00
Théo DELRIEU
d0d8070422
add static_asserts
...
remove some useless trailing return types and && to help MSVC
2017-01-21 16:14:22 +01:00
Théo DELRIEU
e678c075dd
check for is_number_unsigned before is_number_integer
2017-01-21 16:14:22 +01:00
Théo DELRIEU
cb3d455bd2
do not const_cast when calling get_ptr
2017-01-21 16:14:22 +01:00
Théo DELRIEU
1f25ec5d36
add some constexpr + noexcept
2017-01-21 16:14:22 +01:00
Théo DELRIEU
29f9fe6ae9
remove one has_to/from_json template parameter
2017-01-21 16:14:22 +01:00
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
Alex Astashyn
949061079a
Merge upstream/develop into feature/locale_independent_num_to_str
2017-01-04 18:55:19 -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
Bosswestfalen
92e28c3153
added missing changes in json.hpp.re2c
2016-12-13 20:30:56 +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
5cad2006eb
Tweaked check for preserved sign; added LCOV_EXCL_LINE
2016-12-12 20:15:57 -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
343c9f9baa
Addressing compiler warnings
2016-12-08 22:36:18 -05: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
Alex Astashyn
7a081244a5
Refactored preprocessing with a lambda instead of do{...}while(0)
2016-12-06 19:41:31 -05:00
Alex Astashyn
0c87d5d6b3
Refactored preprocessing with a lambda instead of do{...}while(0)
2016-12-06 19:41:05 -05:00
Alex Astashyn
d643360575
Bugfix: when working with C formatting functions we need to query C locales (localeconv) rather than std::locale
2016-12-06 00:43:12 -05:00
Alex Astashyn
738d462955
Bugfix: when working with C formatting functions we need to query C locales (localeconv) rather than std::locale
2016-12-06 00:23:58 -05:00
Alex Astashyn
82b82fd487
Addressing msvc-specific compilation issues.
2016-12-05 20:33:28 -05:00
Alex Astashyn
509447b4d5
Small bufix related to creation of fmt string for snprintf
2016-12-05 19:03:39 -05:00
Alex Astashyn
e41a956782
Alternative handling of integer types relying on strto[u]ll
2016-12-04 13:23:39 -05:00
Alex Astashyn
2197856395
Fixed suffixing .0 and modified the unit tests accordingly
2016-12-04 01:38:23 -05:00
Alex Astashyn
21cae35930
Added locale-independent numtostr
2016-12-04 01:27:22 -05:00
Alex Astashyn
c75efedc6e
stylistic changes
2016-12-03 23:19:43 -05:00
Alex Astashyn
4eafaab816
Improved overflow detection; removed debugging output statements.
2016-12-03 22:54:36 -05:00
Alex Astashyn
6b78b5c2be
Added strtonum for locale-independent number parsing
2016-12-03 19:05:09 -05:00
Niels Lohmann
4adb8a81bf
📝 version bump
2016-12-02 18:39:35 +01:00
Niels Lohmann
5c811b91f1
Merge branch 'develop' into feature/emplace
2016-12-01 21:17:40 +01:00
Niels Lohmann
ba3c5e1a25
✅ more test cases
2016-11-29 09:49:05 +01:00
Niels Lohmann
ee0f23fdc6
🚧 bug fixes and more tests
2016-11-28 23:20:03 +01:00
Niels Lohmann
aeb4f87a27
✨ added return value for emplace ( #349 )
2016-11-28 18:33:46 +01:00
Niels Lohmann
6ecff31b7f
Merge branch 'develop' into feature/emplace
2016-11-28 18:00:10 +01:00
Niels Lohmann
bc238124ee
🚧 further simplifications
2016-11-27 21:42:21 +01:00
Niels Lohmann
a820d688eb
🔨 refactored number-to-vector calls
2016-11-27 19:11:32 +01:00
Niels Lohmann
a73f43a7a2
🚧 CBOR support ( #358 )
2016-11-27 00:10:04 +01:00
Niels Lohmann
87e088990b
Merge branch 'develop' into feature/messagepack
2016-11-26 18:17:18 +01:00
Niels Lohmann
a8522f391a
Merge branch 'develop' into feature/issue365
2016-11-26 12:45:50 +01:00
Niels Lohmann
2773038cf9
⚡ added improvements ( #365 )
2016-11-26 12:43:23 +01:00
Niels Lohmann
1ed510c232
Merge branch 'develop' into feature/filenotfound
2016-11-25 17:39:24 +01:00
Niels Lohmann
f194db9aa6
✅ added assertion for warning from #368
2016-11-24 22:07:35 +01:00
Niels Lohmann
dfc49e7afe
🐛 fixed a bug if parser was called with a stream at EOF ( #367 )
2016-11-24 21:45:10 +01:00
Niels Lohmann
4bb41d065b
🐛 parsing erroneous files yields an exception ( #366 )
2016-11-23 16:57:01 +01:00
Niels
6cc2d58d69
🐛 hopefully fixing the crashes on Linux ( #365 )
2016-11-22 20:13:47 +01:00
Niels
f620d74919
⚡ added performance fixes ( #365 )
2016-11-22 07:26:11 +01:00
Niels
abce5c25bb
📝 cleaned comments and updated README
2016-11-21 23:38:17 +01:00
Niels
43dbe02d5b
🐛 fixing #359
2016-11-21 21:53:10 +01:00
Niels
1be73b903e
proposal for emplace/emplace_back ( #349 )
2016-11-11 19:29:14 +01:00
Niels
543745a10e
starting to integrate MessagePack ( #358 )
2016-11-11 17:11:13 +01:00
Niels
9ca00e4880
readded missing header
2016-11-03 07:27:32 +01:00
Niels
e385417047
documented and cleaned up headers ( #314 )
2016-11-02 21:27:19 +01:00
Niels
700977d73e
version bump
2016-11-02 20:52:15 +01:00
Niels
3716a2fbe8
Merge branch 'develop' into feature/jsontestsuite
2016-11-02 17:03:12 +01:00
Niels
737d43724f
Merge branch 'feature/issue329' into develop
2016-11-02 16:59:23 +01:00
Niels
59c8343851
cleanup
2016-11-02 15:44:46 +01:00
Niels
94c16b2c31
fixed coverage
2016-11-01 17:01:04 +01:00
Niels
8d1e65f297
evaluated i-tests ( #344 )
2016-10-30 16:07:17 +01:00
Niels
a8136c578a
fixed BOM handling #344
2016-10-29 21:08:30 +02:00
Niels
b820bb3b1f
fixed a lot of unicode errors ( #344 )
...
BOMs currently yield an error.
2016-10-29 19:35:17 +02:00
Niels
42ea4fb751
fixed a bug for short input files ( #344 )
...
For input files with less than 5 bytes, the parser had a bug so that
refilling the input buffer led to erasing it.
2016-10-29 13:32:36 +02:00
Niels
79d9fdc016
user-defined string literals exploit string length ( #340 )
2016-10-22 18:57:58 +02:00
Niels
606098f45d
release 2.0.6
2016-10-15 16:47:45 +02:00
Niels
d91067220f
added missing overflow check for #329
2016-10-13 21:00:48 +02:00
Niels
67b9f1936d
cleanup after closing #324
2016-10-12 22:05:45 +02:00
Niels Lohmann
bb9d87ad55
Merge pull request #324 from vpetrigo/has_mapped_improve
...
make has_mapped_type struct friendly
2016-10-12 21:59:56 +02:00
Niels
d3e7f9da67
code cleanup for #323
2016-10-10 20:38:50 +02:00
Niels
97280bbcfc
added missing header
2016-10-09 16:32:01 +02:00
Vladimir Petrigo
e9fde3e116
make has_mapped_type struct friendly
2016-10-08 16:50:23 +03:00
Niels
2fa8ea0f74
started fixing #323
2016-10-08 14:27:28 +02:00
Niels
b6550b35c3
fix after #313
2016-10-04 18:20:36 +02:00
Stefan Codrescu
be61091401
trivial documentation fix
2016-09-16 18:15:36 -06:00
Niels
3d104f1d43
version bump
2016-09-14 23:06:39 +02:00
Niels
6bbcdc1ec5
fixes #310
2016-09-14 22:48:12 +02:00
Niels
768d66560e
version bump
2016-09-11 23:36:59 +02:00
Niels
f922426ec3
fixed #304
2016-09-11 22:40:51 +02:00
Niels
2daab5a4c2
fixed #306
2016-09-11 22:30:08 +02:00
Niels
df9fd6237e
release 2.0.3
2016-08-31 21:27:23 +02:00
Niels
ae7aaed4ac
Merge branch 'develop' into feature/iterator_range_parsing
2016-08-31 18:07:18 +02:00
Niels
442058f8ed
interface cleanup
2016-08-31 17:07:35 +02:00
Niels
afba1d3fcb
forgot to run re2c
2016-08-30 23:51:14 +02:00
Niels
941714c99c
template changes did not work with MSVC
2016-08-30 23:49:06 +02:00
Niels
a485aa8d27
cleanup and improvement of branch coverage
2016-08-30 23:44:15 +02:00
Niels
6e6e1c9b1f
implemented idea from #290
2016-08-30 18:26:07 +02:00
Niels
f76f9efe58
Merge branch 'develop' into feature/iterator_range_parsing
2016-08-30 18:20:13 +02:00
Niels
29c5f32d42
fixed performance degradation ( #272 )
2016-08-29 22:36:33 +02:00
Niels
04c6c886eb
another experiment
2016-08-24 21:02:33 +02:00
Niels Lohmann
8b833c452a
experiment: changed order of parse functions
2016-08-24 07:12:56 +02:00
Niels
1d66ab9f7a
fixed lexer issue which required null byte at the end of contiguous storage containers #290
2016-08-23 22:38:05 +02:00
Niels
a79d634ccb
integrated proposals for #290
2016-08-22 21:40:07 +02:00
Niels
cda84ba323
Merge branch 'develop' into feature/iterator_range_parsing
2016-08-21 23:15:27 +02:00
Niels
94331a355d
removed LCOV_EXCL_LINE
2016-08-21 21:50:13 +02:00
Niels
b4571360df
more on #290
2016-08-21 12:35:40 +02:00
Niels
eef8059003
allowing parsing from contiguous containers
2016-08-20 20:29:33 +02:00
Niels
6f3554f040
Merge branch 'develop' into feature/iterator_range_parsing
2016-08-20 18:51:11 +02:00
Niels
039cedaf8e
changes to address #295
2016-08-17 23:14:28 +02:00
Niels
5e67f7af01
added a first version of a parser for #290
2016-08-15 22:44:14 +02:00
Niels
f791c5fd2e
Merge branch 'develop' into feature/iterator_range_parsing
2016-08-15 21:46:02 +02:00
Niels
ca80a71c28
added notes from the CII Best Practices badge
2016-08-15 21:45:49 +02:00
Niels
dfc2c1abe5
added assertion for contiguous memory
2016-08-14 23:38:20 +02:00
Niels
92ee1d56eb
cleanup
2016-08-14 21:59:41 +02:00
Niels
4871e39415
spell fix
2016-08-14 17:52:21 +02:00
Niels
01386b3977
cleanup
2016-08-14 17:23:15 +02:00
Niels
b76f5506d7
added a parser for continguous containers
2016-08-14 14:18:25 +02:00
Niels
03de590372
improved documentation for #289
2016-08-11 20:52:48 +02:00
Niels
a05df038cd
prepared release
2016-07-31 13:37:04 +02:00
Niels
9e51c9041e
replaced individual assertions by a class invariant function
2016-07-30 18:02:41 +02:00
Niels
891918a30f
cleanup and documentation
2016-07-30 16:12:10 +02:00
Niels
5405ae8601
added default value
2016-07-30 10:50:53 +02:00
Niels
b145e0c404
more cleanup
2016-07-29 23:47:16 +02:00
Niels
b2b68a0fa1
header + cleanup
2016-07-29 22:24:47 +02:00
Niels
161c74a92e
some cleanup
2016-07-28 21:19:56 +02:00
Niels
6297631e22
reverted breaking changes
2016-07-27 21:40:15 +02:00
Niels
a7f8c47f68
cleaned up code
...
- removed unnecessary assertions
- simplified simple if/return patterns
2016-07-27 21:29:55 +02:00
Niels
a01ec918ac
minor changes
2016-07-25 16:21:15 +02:00
Niels
d08e013dd0
improved documentation
2016-07-25 16:06:13 +02:00
Niels
75dbbc55cf
started to implement #283
2016-07-23 09:59:09 +02:00
Niels
ddfe86cc49
fixed a bug that was found in the discussion of #274
2016-07-22 21:40:58 +02:00
Niels
51a3829680
reverted change to constexpr get_ref (does not work with GCC and MSVC)
2016-07-22 15:53:38 +02:00