Théo DELRIEU
c9a02cbc59
to/from_json: add a MSVC-specific static_assert to force a stacktrace
2017-12-05 10:52:55 +01:00
Niels Lohmann
cc937deaf6
🚑 the last commit contained a bug #821
2017-11-26 10:15:23 +01:00
Niels Lohmann
430f03512c
🚨 fixed some warnings #821
2017-11-25 22:06:18 +01:00
Niels Lohmann
5696660eba
🔨 another try to fix #714
...
adding std::ios_base::binary when opening all_unicode.json.cbor
2017-10-31 15:04:14 +01:00
Théo DELRIEU
4b46abf97c
add forwarding references to json_ref constructor
...
fixes #805
2017-10-28 14:22:57 +02:00
Niels Lohmann
8e067c0c3c
🔨 set bidirectional iterator tag #593
2017-10-28 09:41:35 +02:00
Niels Lohmann
61cc07ff38
📝 some documentation
2017-10-27 16:07:04 +02:00
Niels Lohmann
77f8e2f987
Merge pull request #795 from jseward/develop
...
Add transparent comparator and perfect forwarding support to find() and count()
2017-10-27 11:47:23 +02:00
Jamie Seward
992c836b30
Add missing spaces
2017-10-24 00:14:25 -07:00
Jamie Seward
715c98b404
Remove extra spaces
2017-10-24 00:06:22 -07:00
Jamie Seward
6c9a401ebc
Remove old non-perfect forwarding find and count
2017-10-24 00:01:56 -07:00
Jamie Seward
73b1629a15
Remove tabs for spaces
2017-10-23 23:45:39 -07:00
Jamie Seward
33c6511dd0
Remove JSON_HAS_STRING_VIEW
...
Instead implement @gregmarr's PR comments that perfect forwarding should be used. Also cleaned up cpp language standard detection.
2017-10-23 00:43:26 -07:00
Niels Lohmann
b0c380b0f8
📝 cleanup after the last PRs
2017-10-22 09:12:35 +02:00
Niels Lohmann
be4fba7baf
Merge branch 'develop' of https://github.com/nlohmann/json into develop
2017-10-22 08:53:46 +02:00
Niels Lohmann
f193427e91
🔨 some simplifications
2017-10-22 08:53:43 +02:00
Niels Lohmann
ef40673acb
Merge branch 'develop' into develop-simplify-istream
2017-10-22 08:52:15 +02:00
Jamie Seward
d468f8c4e6
Use consistent logic to determine if string_view exists
2017-10-21 16:36:05 -07:00
Jamie Seward
59cde1ad6e
Fix for _HAS_CXX17 == 0
...
Copied from solution to https://github.com/nlohmann/json/issues/464
2017-10-21 16:29:37 -07:00
Jamie Seward
1a66679929
Add string_view support
...
This avoids unnecessary string copies on often used
find().
2017-10-21 15:20:13 -07:00
Sonu Lohani
92da334862
Error : 'identifier "size_t" is undefined' in linux
2017-10-21 12:52:44 +05:30
Jamie Seward
917d9d8bc3
Fix Visual Studio 2017 warnings
2017-10-16 23:23:55 -07:00
Perry Kundert
a8cc7a1bc8
Consistently use std::char_traits int_type-->char conversion intrinsics
2017-10-16 08:06:10 -07:00
Jamie Seward
8ba7f69ab4
Fix whitespace
2017-10-16 00:49:59 -07:00
Jamie Seward
8a4af820c7
Fix warning C4706
2017-10-16 00:41:58 -07:00
Niels Lohmann
d300a8e268
🚨 fixed warnings #776
2017-10-13 08:46:29 +02:00
Perry Kundert
23440eb86e
Remove outdated commentary about the value of eof(), retain input type
...
o We assume the same character int_type as the unerlying std::istream
o There are no assumptions on the value of eof(), other than that it
will not be a valid unsigned char value.
o To retain performance, we do not allow swapping out the underlying
std::streambuf during our use of the std::istream for parsing.
2017-10-06 12:54:43 -07:00
Perry Kundert
45e1e3d48a
Revert some unnecessary member initializer changes.
2017-10-06 07:53:31 -07:00
Perry Kundert
5e480b56d8
Further simplify character type handling
2017-10-06 07:37:49 -07:00
Perry Kundert
1b43a45bec
Implement correct handling of std::streambuf int_type, eof()
...
o Make no assumptions about eof(), other than that it is somewhere
outside of the valid range of char_type.
2017-10-05 16:16:41 -07:00
Perry Kundert
184dab60e6
Accelerate access to underlying std::istream streambuf
2017-10-05 16:16:41 -07:00
Perry Kundert
f775922ca8
Specify initializers for yytest, token_string using initializer-lists
...
o We can retain -Weffc++ and specify default initializers by using
initializer lists. The risks are low (of additional non-conformat
compilers), because there is already one other such initialization
used in the code-base.
2017-10-05 16:16:41 -07:00
Perry Kundert
546e148b24
Further performance improvements, and corrections in get_token_string
...
o An (-'ve valued, typically -1) EOF must never be allowed in
token_string, as it be converted to 255 -- a legitimate value.
o Comparing against a specific eof() (-1, typically) is more costly than
detecting +'ve/-'ve. Since EOF is the only non-positive value allowed
we can use the simpler test.
o Removed unnecessary test for token_string size, as it is already
tested in the method, and must never occur in correct code; used an
assert instead.
2017-10-05 16:16:41 -07:00
Perry Kundert
8665e25942
Rename get_string to move_string to imply side-effect
2017-10-05 16:16:41 -07:00
Perry Kundert
e0d890cc23
Corrected unnnecessary const restriction on returned std::string
2017-10-05 16:16:41 -07:00
Perry Kundert
97a388802d
Improve performance by constructing yytext as a std::string
...
o Return its contents when necessary. In many cases, this avoids
construction of multiple copies of the yytext token. Exceeds
performance of current develop branch.
2017-10-05 16:15:46 -07:00
Perry Kundert
7c523338c5
Remove unnnecessary NUL termination of yytext (as it may contain NULs)
2017-10-05 16:01:41 -07:00
Perry Kundert
14ca1f6f09
Restore istream performance #764
...
o Use std::streambuf I/O instead of std::istream; does not maintain
(unused) istream flags.
o Further simplify get/unget handling.
o Restore original handling of NUL in input stream; ignored during
token_string escaping.
2017-10-05 16:01:41 -07:00
Perry Kundert
12efeadc2e
Further simplify istream handling; use native unget
2017-10-05 16:01:41 -07:00
Perry Kundert
90adf6ec20
Simplify get_token_string, unnecessary buffering, handle Byte Order Mark
2017-10-05 16:01:41 -07:00
Niels Lohmann
5cb6d7187d
🚨 fixing last warning in #755
2017-10-04 17:28:35 +02:00
Niels Lohmann
54bd1b5124
Merge branch 'develop' into feature/issue698
2017-10-03 17:23:05 +02:00
Niels Lohmann
7435d54e97
🔨 clean up
2017-10-02 23:06:41 +02:00
Niels Lohmann
4912231450
Merge branch 'develop' into feature/issue698
2017-10-02 18:25:25 +02:00
Niels Lohmann
b91805e1f0
🚨 removing a compiler warning #755
2017-10-02 18:11:36 +02:00
Niels Lohmann
f89f8b2d0b
Merge branch 'develop' into feature/issue698
2017-10-02 17:47:53 +02:00
Niels Lohmann
8be303d4fb
🏁 fixing a min() call for MSVC #762
2017-10-02 13:54:14 +02:00
Niels Lohmann
1df836ce40
⏪ removed call to std::signbit #761
2017-10-01 15:48:29 +02:00
Niels Lohmann
8af49d4be5
🚨 removing compiler warnings #755
2017-09-30 11:00:26 +02:00
Niels Lohmann
1a66527dca
📝 fixed documentation #745
2017-09-30 10:18:18 +02:00