Commit Graph

53 Commits

Author SHA1 Message Date
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
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
e7fe5d044a extent: prefer to use brace initialisation 2017-08-27 12:30:09 +10:00
b5932c4537 extent: prefer constexpr functions over static variables 2016-12-12 17:06:55 +11:00
86d35bf903 debug: explicitly instantiate extent/point validator 2016-11-17 18:43:32 +11:00
17423ca1c7 extent: instantiate is_valid for more types 2016-10-25 19:58:38 +11:00
e5d44d0c6d coord: instantiate signed types 2016-10-25 17:50:11 +11:00
9a798446b5 build: remove unnecessary includes
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
66f0bbc025 extent: make area and diameter constexpr 2016-09-28 17:21:02 +10:00
00eca4445b debug: use less complex specialistion for validator 2016-08-10 17:36:25 +10:00
2f295fca11 extent: add missing required header 2016-06-20 18:01:26 +10:00
809e7b0421 iostream: use consistent ostream format 2016-03-11 13:01:57 +11:00
7f4cf49931 iterator: use infix_iterator for coord ostream 2016-03-11 12:48:19 +11:00
7b083df977 maths: tighten up type requirements for almost_equal
almost_equal only operates on two reals, or two integers (and even then
only on the same signedness).
2015-11-13 17:18:10 +11:00
1de33ce53c debug: use new namespace 2015-10-29 10:45:42 +11:00
0799b2cd75 extent: instantiate extent_range for 1-3 dimensions 2015-10-06 15:22:14 +11:00
464c703ffd extent: add range-for adapter for extent points 2015-09-29 17:32:11 +10:00
86834281b8 coord: add 16 bit value instantiations 2015-09-22 17:24:16 +10:00
b58dd7a880 extent: fix double negative for contraction 2015-09-22 17:23:54 +10:00
4fad54f0b0 extent: don't fully qualify the primary object 2015-09-16 02:25:31 +10:00
0302df1ba8 extent: quiesce clang abs warnings for unsigned types 2015-09-09 18:45:23 +10:00
2658b41ea1 relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
af11d7c730 extent: add contract methods 2015-04-08 19:00:33 +10:00
832472c861 extent,region: instantiation for 3d types 2015-03-06 17:52:40 +11:00
439bb19679 coord: move operators out of subclasses 2015-03-06 01:09:58 +11:00
872499360f extent: derive from generic coord class 2015-03-03 19:43:09 +11:00
31d1d741e9 extent/region: update to use size parameters 2015-03-03 04:13:29 +11:00
791b91420f extent: add indexing operator 2015-03-03 00:14:16 +11:00
eda97b844b extent: add MIN/MAX static members 2015-03-02 18:49:12 +11:00
22a492e58a extent: add scalar constructor 2015-03-02 18:49:12 +11:00
6c88184b6b extent: add vector-only constructor 2015-02-20 21:53:51 +11:00
b05b779d7d extent: migrate to free sanity/valid 2015-02-13 17:32:08 +11:00
ab06dac6a4 extent: style 2015-02-13 16:30:36 +11:00
87b07cf305 extent: remove using namespace util 2015-02-13 16:29:07 +11:00
d4caabceec extent: instantiate ostream for float/double 2015-02-12 22:08:48 +11:00
23ffd18acb extent: add scalar variant of expanded 2015-02-12 17:40:47 +11:00
7b3ea29856 style 2015-02-12 17:40:36 +11:00
5c1b37d10d extent: add expansion operation 2015-01-16 14:42:04 +11:00
c931c718fe extent: move ostream operator to util namespace 2015-01-15 14:04:18 +11:00
9657c04eed extent: aspect should return float 2014-12-19 18:29:12 +11:00
ff17c51a85 extent: add ostream operator 2014-07-02 15:43:59 +10:00
89c87cbf06 extent: instantiate templates from stdint types 2014-07-02 15:43:24 +10:00
52eb957d4b build: convert c-style cast to c++ style 2014-07-02 15:42:25 +10:00
58f5fdf3f1 Bump the copyright years 2012-08-10 17:36:56 +10:00
7bad091cfe Use w/h instead of width/height for extent 2012-08-08 14:39:24 +10:00
4795e7f054 Add copy and assignment operators to util::extent 2012-06-05 22:50:52 +10:00
932f7a4ec3 Add aspect query for extent 2012-06-04 14:51:25 +10:00
ea71f958f4 Instancing and construction fixups for clang 2012-05-26 18:01:04 +10:00
4f5d75a1df Make all check macros uppercase 2012-05-11 12:34:21 +10:00