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
7ae57730f0
whitespace
2015-04-13 18:06:08 +10:00