Commit Graph

94 Commits

Author SHA1 Message Date
33dc5c7053 json/pointer: add a trivial parser for json-pointer 2018-07-13 16:08:24 +10:00
a2e2d59c98 json/schema: add multipleOf test cases 2018-07-12 16:21:56 +10:00
0629ba07cd json/schema: add exclusiveMin/Max 2018-07-12 16:08:36 +10:00
d48e36ffd5 json/schema: add additionaProperties tests 2018-07-12 15:56:03 +10:00
8c222300ca json/schema: add pattern_properties and associated tests 2018-07-12 15:10:41 +10:00
647af5504b json/schema: reimplement enum support 2018-07-12 13:06:11 +10:00
c07ce50908 json/schema: modularise the validator objects 2018-07-11 19:30:14 +10:00
3d51be1372 json/tree: correct object and array equality operators 2018-07-05 17:46:02 +10:00
65dad60e09 json/tree: forward the arguments for to_json/from_json 2018-06-22 14:08:59 +10:00
ec44c68ce6 view: require fully named types for casting 2018-05-10 12:54:45 +10:00
e7c108c770 json: remove use of the restrict qualifier
This mostly just complicates type manipulations. We can add it back in
if performance actually warrants it, or if it becomes an official
qualifier.
2018-05-08 21:48:17 +10:00
497d3ca970 build: update for gcc-8.1 warnings 2018-05-03 18:32:08 +10:00
93277d5d9d json/tree: add from_json that takes a path 2018-05-01 16:01:00 +10:00
2d7e3e5d7d build: prefer iosfwd over iostream 2018-03-22 16:11:13 +11:00
35e3f69ad2 maths, view: rationalise equal,almost_equal,==
views should not do elementwise comparisons for equality operators.
they are pairs of iterators and are only equal if their iterators are
equal.

instead, use `equal` for elementwise equality. we update the name of
exactly_equal to perform this operation too.
2018-01-31 19:33:42 +11:00
681768093e hash: use a consistency, less flexible, interface 2018-01-13 15:24:12 +11:00
9bb2bdbaba Merge remote-tracking branch 'origin/master' 2018-01-10 17:19:39 +11:00
2713da45f4 format: rework parser for currying support 2018-01-09 16:28:46 +11:00
0351313c36 Merge branch 'master' into coord 2017-11-23 17:24:11 +11:00
34788756d2 build: don't use './' as an include prefix
GCC produces ODR error when including paths of the form './foo' and
'foo' in the same binary. Rather than managing duplication we just
universally pick the absolute form over the relative form.
2017-11-22 16:49:37 +11:00
4050754ab4 preprocessor: use a script to create map/reduce
We need over 300 arguments for some projects and I'm not going to code
that shit by hand.
2017-09-12 14:17:30 +10:00
eabf93bc2a view: remove ipp file in preference of inline code 2017-08-01 14:16:55 +10:00
25e19b5810 build: use explicit constructors 2017-05-23 12:50:51 +10:00
e1aacef7a2 stream: use scoped manipulators 2017-01-05 20:21:20 +11:00
98dc992473 build: avoid integer length warnings 2017-01-05 19:50:28 +11:00
353cf839d4 use nested namespace declarations 2017-01-05 15:06:49 +11:00
9a6a406fa2 build: use path objects over c_str calls 2016-11-17 18:07:57 +11:00
9a798446b5 build: remove unnecessary includes
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
be6ca2e1d2 build: workaround unknown warning warning in clang 2016-10-11 21:44:25 +11:00
68fa98e70e build: workaround gcc synthesis constructor cast warnings 2016-10-11 21:43:28 +11:00
48364cd227 build: use experimental::fs over boost::fs 2016-10-07 19:48:42 +11:00
d9713fe8b7 json/tree: fix signed min, unsigned max constraints
signed/unsigned casting issues prevented correct comparisons with the
min/max constraints. account for the source type's range before doing the
comparison.
2016-09-20 16:02:08 +10:00
116ad04a1f build: use ostream/istream over iostream 2016-08-04 17:42:41 +10:00
f9fb0873d3 build: tidy system headers 2016-07-28 13:39:27 +10:00
f793175fdf json/schema: add 'integer' type support 2016-07-04 15:46:01 +10:00
8694b95cec json/tree: add is_integer query 2016-07-04 15:45:38 +10:00
10e0c4f923 json/except: use a human readable key_error message
the exception string was completely useless without mentioning "you
tried to dereference an invalid key".
2016-06-29 17:55:44 +10:00
74fc943f53 build: quiesce type conversion warnings 2016-06-29 17:55:12 +10:00
b1bc2a816d json/schema: add path based validate 2016-06-28 16:59:56 +10:00
73c30561af json/tree: reinstate path based parsers
json::tree::node is a fat object, so it's safe to load the source data
from within the parsing function
2016-06-28 16:57:44 +10:00
d7204d7cac json: remove path based parsers
parsers don't store copies of the data, so we can't allow functions that
allocate data themselves.
2016-06-28 15:59:53 +10:00
642317f6a4 json: use templated iterator for parsing from views 2016-06-28 14:16:28 +10:00
8142944139 json: store numbers natively as uint/sint/real
allows more accurate representations and better error checking.
2016-05-12 17:41:31 +10:00
5b58e0afa6 json/flat: don't try to parse empty files
avoids debug assertions fetching data pointer on empty mappings
2016-04-27 17:07:20 +10:00
eb1b042e06 j/except: remove useless inherited constructor 2016-04-27 16:12:45 +10:00
9bbcfa6e63 make header paths more explicit 2016-04-05 11:06:35 +10:00
ab330cc520 add ref-qualifiers to avoid dangling refs/ptrs 2016-03-17 18:05:28 +11:00
ea1dbd253a j/tree: add from_path function for clarity 2016-02-11 14:53:43 +11:00
424e6e8701 cast: move types/casts to cast 2015-11-17 16:19:27 +11:00
b1bc54ac8c maths: move remaining operations into util namespace 2015-11-16 11:44:07 +11:00