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
f585fe4eec
Test to confirm parsing of multiple JSON records in a istream #367
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
0c0851dbea
📝 comment how to integrate tsl::ordered_map ( #546 )
2017-10-05 20:36:18 +02:00
Niels Lohmann
bab4a15748
📝 comment how to integrate fifo_map ( #485 )
2017-10-05 20:33:27 +02:00
Niels Lohmann
60439aff05
📝 different cmake call
2017-10-05 19:43:59 +02:00
Niels Lohmann
73d1b55aba
🔧 executing tests in parallel
2017-10-05 19:43:39 +02:00
Niels Lohmann
615366447a
🔧 removing -Weffc++ warnings
2017-10-05 19:43:19 +02:00
Niels Lohmann
73727c989c
Merge branch 'feature/coveralls' into develop
2017-10-05 19:08:28 +02:00
Niels Lohmann
75f4678b96
🔨 added filter script for branch coverage
2017-10-05 19:08:15 +02:00
Niels Lohmann
c204ac82e0
🔨 adjusted Coverity script to work without Makefile
2017-10-05 07:13:59 +02:00
Niels Lohmann
7b82e4b4c8
🔨 added Makefile target to calculate lcov coverage
2017-10-05 00:17:09 +02:00
Niels Lohmann
1b3df3a63f
🔨 trying to use Coveralls with CMake #698
2017-10-04 22:18:21 +02:00
Niels Lohmann
99ee4c1eaf
🔨 cleaned up Makefiles and docs #698
2017-10-04 19:27:35 +02:00
Niels Lohmann
5cb6d7187d
🚨 fixing last warning in #755
2017-10-04 17:28:35 +02:00
Niels Lohmann
4e81c1db47
Merge pull request #765 from nlohmann/feature/issue698
...
using more CMake
2017-10-04 10:39:56 +02:00
Niels Lohmann
e2045eae53
🏁 and another try
2017-10-03 18:47:08 +02:00
Niels Lohmann
a85bc358f7
🏁 another try
2017-10-03 18:21:40 +02:00
Niels Lohmann
3457e7bc5b
🏁 try to get MSVC 2017 running again
2017-10-03 17:57:40 +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
b05ea3de55
Merge pull request #753 from gregmarr/patch-1
...
Add info for the vcpkg package.
2017-09-26 22:36:36 +02:00
gregmarr
ec60ff3451
Add info for the vcpkg package.
2017-09-26 08:39:38 -07:00
Niels Lohmann
647711fad1
✅ improved test coverage
2017-09-14 17:31:28 +02:00
Niels Lohmann
737816d0cd
👷 another try with Travis
2017-09-14 17:31:14 +02:00
Niels Lohmann
e75adc21a5
Merge branch 'develop' into feature/issue698
2017-09-13 18:57:25 +02:00
Niels Lohmann
b90529c36d
✅ improved test coverage
2017-09-13 18:56:54 +02:00
Niels Lohmann
82c93680d1
Merge branch 'develop' into feature/issue698
2017-09-10 22:38:23 +02:00
Niels Lohmann
e2e0ecd867
✅ improved test coverage
2017-09-10 22:38:04 +02:00
Niels Lohmann
248db1e423
Merge branch 'develop' into feature/issue698
2017-09-10 11:42:57 +02:00
Niels Lohmann
7410763731
✅ improved test coverage
2017-09-10 11:42:43 +02:00
Niels Lohmann
cafc2d057a
Merge branch 'develop' into feature/issue698
2017-09-10 10:22:10 +02:00
Niels Lohmann
da97cf7895
✅ improved test coverage
2017-09-10 10:21:53 +02:00
Niels Lohmann
295d65ada7
Merge branch 'develop' into feature/issue698
2017-09-10 01:13:43 +02:00