Commit Graph

46 Commits

Author SHA1 Message Date
3d51be1372 json/tree: correct object and array equality operators 2018-07-05 17:46:02 +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
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
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
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
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
f9fb0873d3 build: tidy system headers 2016-07-28 13:39:27 +10:00
74fc943f53 build: quiesce type conversion warnings 2016-06-29 17:55:12 +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
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
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
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
2658b41ea1 relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
d102410567 json/tree: add as_bool native accessor 2015-03-23 18:41:07 +11:00
f73b39f063 json/tree: add std::string/string equality ops 2015-03-19 00:25:50 +11:00
1d0240ba10 json/tree: move some array methods to cpp 2015-03-19 00:25:50 +11:00
f333c75218 json/object: add find method 2015-03-19 00:25:50 +11:00
9230de8c98 json/tree: add const begin/end 2015-03-19 00:25:50 +11:00
1877767614 style 2015-03-19 00:25:50 +11:00
2592cd0442 json/tree: add mutable indexing operators 2015-03-19 00:25:50 +11:00
a2535e2006 json/tree: add mutable conversion queries 2015-03-19 00:25:50 +11:00
6e81437b93 json/tree: add as_chars accessor 2015-03-19 00:25:50 +11:00
4f0f040f7d json/tree: add clone method 2015-03-18 15:44:46 +11:00
47cc2adfab json: add key_error exception class 2015-03-18 15:42:03 +11:00
0db3188a49 j/tree: add as_{uint,float,double} 2015-02-16 23:38:08 +11:00
60787655b3 json: split json impl files into tree and flat 2015-02-03 00:15:07 +11:00