c22a5a2a07
posix/fd: prefer error::try_value over explicit checks
2017-12-18 15:57:43 +11:00
77c88438d4
except: move posix/win32 exceptions to own units
2017-12-18 15:46:52 +11:00
2ead13a063
parse: use views over explit begin/end pairs
2017-12-18 14:50:10 +11:00
60a7670326
view: delegate constructors where feasible
...
this will allow us to reduce code duplication for sanity checks at
construction time.
2017-12-15 18:58:33 +11:00
b4175e4593
uri: add more data fields
...
we now provide more fine grained field extraction from URIs, focusing
primarily on the utility of URLs.
2017-12-15 18:57:10 +11:00
c1036d8337
matrix: use vector ostream operator
2017-11-24 17:19:32 +11:00
a0b0863d61
coord: use new template form in ostream operators
2017-11-24 17:19:32 +11:00
a8088d03cd
matrix: use vector for the row storage
2017-11-24 17:19:32 +11:00
59240ce83a
matrix: move implementation from ipp to hpp
2017-11-24 17:19:32 +11:00
0351313c36
Merge branch 'master' into coord
2017-11-23 17:24:11 +11:00
edde2af132
cmake: bump for optimisation flags
2017-11-22 17:10:27 +11:00
d3f434b523
coord: make template parameters more flexible
...
The coordinate system was unable to support types that prohibited
redim or retype operations. Additionally, the `tags' type used for
providing named data parameters was unwiedly.
We remove much of the dependance on template template parameters in the
defined operations and instead define these in terms of a template
specialisation of is_coord.
The tag types were replaced with direct specialisation of the `store'
struct by the primary type, and passing this type through use of the
CRTP.
2017-11-22 17:03:00 +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
4794e84c13
build: prefer target specific includes and libs
2017-11-22 16:34:02 +11:00
3ad0339474
WIP vector: spherical/cartesian conversion
2017-11-02 18:11:16 +11:00
badba6de3b
tap: move ipp implementation into hpp/cpp
...
This makes it easier for CLion to perform syntax highlighting
accurately.
2017-11-02 18:10:56 +11:00
28ec0bd48e
maths: add forgotten header to test suite
2017-11-02 18:02:53 +11:00
d8bb00c9c3
endian: add float byteswap specialisation
2017-10-12 17:38:40 +11:00
aff4786409
traits: add bodies to test objects for ODR-used symbols
2017-10-11 17:15:47 +11:00
fb2888d2d5
maths: workaround clang lto ICE in renormalise
2017-10-11 17:15:24 +11:00
f0193ee825
colour: instantiate for u16
2017-10-10 16:50:26 +11:00
c0e8a947d0
colour: use numeric_iterator and make_infix for ostream
2017-10-10 16:50:15 +11:00
ba2eb48d63
iterator: add numeric_iterator for ostream output
2017-10-10 16:49:56 +11:00
2e5d69c095
matrix: work around instruction selection bug in clang
2017-10-10 14:09:43 +11:00
720a45deb8
matrix: move some implementation from ipp to cpp
...
this makes debugging under some IDEs slightly easier
2017-10-10 14:08:41 +11:00
f33ec13b50
format: don't accidentally cast local variable types
2017-10-10 13:52:46 +11:00
a36991fc83
maths: prefer int for `digits' types
2017-10-05 12:45:48 +11:00
32f3240186
json2: initial 'jsonish' support
2017-10-05 11:44:37 +11:00
340981dac2
json2: initial import
2017-10-03 17:49:08 +11:00
d64e3d244e
utf8: clearer comments
2017-10-03 17:48:27 +11:00
c61fa16316
utf8: use an iterator style interface internally
...
this will be presented to the users shortly
2017-10-02 16:15:19 +11:00
35db5f0a7a
utf8: add forgotten headers
2017-10-02 15:41:20 +11:00
5e1fab3590
utf8: use mask test object for continuation ops
2017-10-02 15:40:54 +11:00
45e2477e1b
utf8: use a more verbose mask test name
2017-10-02 15:40:23 +11:00
7ecaaacd93
utf8: add a trivial utf8 decoder
2017-10-02 15:25:59 +11:00
4641d43742
view: comment style
2017-10-02 14:14:55 +11:00
d03a248138
tap: add unconditional 'fail' call
2017-10-02 14:14:39 +11:00
d67a990de3
random: add uniform integer generator for whole range
2017-09-21 15:59:03 +10:00
b04f0b0c9e
random: threadlocal generator should be inline
...
this avoids multiply defined symbols
2017-09-21 15:58:55 +10:00
f06eab9a3a
a/r/aligned: add forgotten headers and namespace qualifiers
2017-09-21 15:06:35 +10:00
09a624bf88
debug: add unhandled
debug function
2017-09-17 12:41:23 +10:00
220e499681
view: make equality consistent
2017-09-15 15:22:51 +10:00
cfa272a80a
string: allow tokenisation of c arrays
2017-09-15 15:22:29 +10:00
9c5b471b24
iterator: modify to allow iteration over c arrays
2017-09-15 15:21:25 +10:00
c222e4e960
view: constructor should take iterators by constref
...
who knows how big the iterators are, or if they can be moved.
2017-09-14 13:24:08 +10:00
015dff80a0
view: add nulling move operations
2017-09-14 13:13:45 +10:00
d0e49fb1a8
debug: expose NDEBUG as a constexpr bool
2017-09-13 12:37:53 +10:00
c1aa0f7a3d
io: slurp should default to providing bytes, not chars
...
std::byte has less potential for abuse. if you want an array of chars
you should ask for it.
2017-09-12 14:18:34 +10: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
a2995186f6
traits: add nth_argument trait query
2017-09-10 12:42:18 +10:00