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
Niels Lohmann
295d65ada7
Merge branch 'develop' into feature/issue698
2017-09-10 01:13:43 +02:00
Niels Lohmann
fcba9ec537
🔨 clean up
2017-09-10 01:12:03 +02:00
Niels Lohmann
31ce7e1e59
Merge branch 'develop' into feature/issue698
2017-09-09 11:05:20 +02:00
Niels Lohmann
c607b5c2ac
📝 improved documentation
2017-09-06 17:14:06 +02:00
Niels Lohmann
91e0032853
📝 improved documentation
2017-08-29 23:46:26 +02:00
Niels Lohmann
15e757c42b
🔨 trying to fix memory issue with valarray
2017-08-27 10:41:39 +02:00
Théo DELRIEU
bb1b4c934e
fix from_json implementation for pair/tuple
...
Introduced by 6e4910d5c5
Fixes #707
2017-08-23 10:05:43 +02:00