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
ca3851c4de
tuple: `ignore' should be noexcept
2017-09-08 17:03:22 +10:00
edfe4b73bb
introspection: identify the bug that CLANG_WORKAROUND addresses
2017-09-08 17:02:33 +10:00
8e7f23c4dd
traits: add trivial type_traits tests
2017-09-08 14:20:01 +10:00
d79b7da067
types/traits: make func_traits more robust
2017-09-08 14:19:46 +10:00
fb5614ae2b
types/traits: add remove_member_const
2017-09-08 14:19:28 +10:00
bb07f6573c
type/traits: add remove_noexcept
2017-09-08 14:19:03 +10:00
a307b5f777
types/traits: add chaining type modifier
2017-09-08 14:10:57 +10:00
c105fb4d0f
debug: fully qualify panic detail functions
...
silences warnings under clang
2017-09-08 14:10:11 +10:00
a1c8c8e2ac
types/traits add remove_noexcept and func_traits
2017-09-06 13:31:02 +10:00
9cfaade94b
preprocessor: add variadic REDUCE for PASTE
2017-09-05 14:29:58 +10:00
40c4fbc5ed
introspection: add forgotten required header
2017-09-01 14:17:03 +10:00