Commit Graph

39 Commits

Author SHA1 Message Date
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87 relicense under MPL-2.0 2018-08-04 15:14:06 +10:00
22b25221b2 coord/base: add std::array conversion operator 2018-06-12 10:54:08 +10:00
c4eec456a0 coord/base: remove explicit from scalar constructor
we need to create vectors of zeros pretty often and it's pretty verbose
having to continually use the full type name each time.
2018-04-16 16:00:32 +10:00
2d801a1725 coord/base: actually set fill values in constructor 2018-04-11 18:22:25 +10:00
a8b4c93ccd coord: mitigate gcc ICE when using redim 2018-01-17 13:28:44 +11:00
9bb2bdbaba Merge remote-tracking branch 'origin/master' 2018-01-10 17:19:39 +11:00
a8088d03cd matrix: use vector for the row storage 2017-11-24 17:19:32 +11:00
0351313c36 Merge branch 'master' into coord 2017-11-23 17:24:11 +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
c4e367e648 coord: use std::size_t over size_t 2017-08-28 12:25:23 +10:00
3799135236 coord: add general vector comparison function 2017-08-27 12:32:00 +10:00
31652ed3a3 coord/base: add clarifying comment to index assertion 2017-08-27 11:37:52 +10:00
8f216a0a27 coord/base: don't use std::fill in constexpr constructor 2017-08-27 11:37:18 +10:00
efb719b822 coord/base: add indices method 2017-08-24 14:39:54 +10:00
ad345f19d5 coord/base: add restrictions to redim with/out params
redim to lower dimensionality should not allow a parameter, and redim to
higher dimensions should require a fill parameter.
2017-08-24 14:39:54 +10:00
1d4992e3e4 coord/base: add comments for constructors 2017-08-24 14:39:54 +10:00
ae40b163e5 coord: prefer cbegin/cend where possible 2017-06-13 14:18:00 +10:00
353cf839d4 use nested namespace declarations 2017-01-05 15:06:49 +11:00
919c635f63 coord/base: assert we are using arithmetic types 2016-10-25 19:57:37 +11:00
7db82e4b22 coord/base: add cbegin and cend members 2016-09-21 22:23:20 +10:00
dfdd9421cd Revert "coord/base: remove front/back methods"
This reverts commit 0b811e636e.
2016-08-10 18:26:40 +10:00
0b811e636e coord/base: remove front/back methods 2016-08-10 17:33:58 +10:00
6ddff9dfde coord/base: use std::fill for scalar constructor 2016-08-10 17:33:45 +10:00
3e46f18e5a coord/base: style 2016-04-28 16:06:48 +10:00
7f4cf49931 iterator: use infix_iterator for coord ostream 2016-03-11 12:48:19 +11:00
b824691541 coord: add front/back methods 2015-10-19 16:23:49 +11:00
f6933fb87d coord/base: c++14 style 2015-10-19 12:01:29 +11:00
29c6c50fda coord/base: don't use std::fill in constexpr 2015-10-06 15:24:31 +11:00
905f4de303 coord: make size accessor static
static members work on expressions in c++11 now.
2015-09-21 15:35:18 +10:00
b66a3ba46f coord: make size method constexpr 2015-09-15 21:05:37 +10:00
c4f773f129 coord: use explicit constructors consistently 2015-09-09 18:45:23 +10:00
950fed7d81 coord: add constexpr constructors 2015-07-21 01:38:36 +10:00
2658b41ea1 relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
e7fba43935 colour: add hsv field names 2015-04-09 21:50:22 +10:00
bd88832df3 coord: move cast/redim operations to coord 2015-04-09 17:58:47 +10:00
5428c93b9a coord: pass client class to coord base
allows common typesafe implementation of cast and redim
2015-04-09 17:47:35 +10:00
5d9c2b1696 c/base: add convenience type conversion operator 2015-03-11 22:58:14 +11:00
e461654de8 coord: split coord header into components 2015-03-06 01:46:01 +11:00