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