Commit Graph

84 Commits

Author SHA1 Message Date
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
cb12d4fd1f io: remove redundant write overloads 2015-10-29 10:51:42 +11:00
3801842373 json/except: add line number to what output 2015-09-09 18:45:23 +10:00
ba4eb8cc45 json/fwd: add exception forward declarations 2015-09-09 18:45:23 +10:00
c2589abc8e j/tree: add templated type conversions 2015-09-08 14:33:39 +10:00
e6b15d2a85 j/tree: remove ambiguous string parse call
single pointer string parsing can be confused with filesystem paths.
instead prefer the two pointer range form.
2015-09-08 14:32:48 +10:00
bedd74747c json/tree: explain lack of scalar type operators 2015-08-28 21:06:45 +10:00
a28ea87d58 json/tree: dont use namespace std or util 2015-08-28 21:06:04 +10:00
daa2587240 json/tree: style 2015-08-28 20:36:21 +10:00
99ee6ed04f j/tree: add override specifiers 2015-06-30 22:24:43 +10:00
fd319d579b build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00