Commit Graph

54 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
78dd62283b extent: add uniform sampler 2018-05-30 14:34:48 +10:00
048cffaee7 extent;string: return references in iterators 2018-03-27 16:05:46 +11:00
af77aad894 extent/region: simplify iteration over ranges 2018-03-23 16:38:54 +11:00
0e3fa05f05 build: migrate from ipp files to pure hpp files
ipp files weren't a great way of keeping things clean, and IDEs have a
little trouble dealing with the split configuration. this simplifies
debugging a great deal.
2018-02-28 11:49:13 +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
6e32ad84a7 coord: use consistent naming for point coverage tests
use inclusive for tests that include all borders, and exclusive for
tests that do not accept the bottom right borders.
2017-08-24 15:56:58 +10:00
2fad1715cf coord: define make_klass for all coordinate types 2017-07-28 16:08:59 +10:00
bdd2e06044 extent: add make_extent call
we use this until template constructor guides are available in our
supported compilers
2017-07-28 14:14:08 +10:00
825102a328 extent: add convenience make_range iterator creator 2017-07-04 16:18:57 +10:00
b5932c4537 extent: prefer constexpr functions over static variables 2016-12-12 17:06:55 +11:00
ec78216813 coord: prefer int/unsigned to intmax/size_t 2016-10-25 17:46:36 +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
809e7b0421 iostream: use consistent ostream format 2016-03-11 13:01:57 +11:00
d847071f76 extent: add convenience size typedefs 2015-10-19 17:09:00 +11:00
464c703ffd extent: add range-for adapter for extent points 2015-09-29 17:32:11 +10:00
118d1accce extent: add a point inclusion query 2015-09-16 02:26:00 +10:00
c4f773f129 coord: use explicit constructors consistently 2015-09-09 18:45:23 +10:00
580ee9e663 extent: define 3f and 3u variants 2015-08-28 20:34:58 +10:00
4ea5896d21 coord: use template typedefs 2015-07-24 01:34:44 +10:00
2658b41ea1 relicence under Apache-2.0 2015-04-13 18:05:28 +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
af11d7c730 extent: add contract methods 2015-04-08 19:00:33 +10:00
5627c573eb coord: use size_t/intmax_t for u and i suffixes
size_t matches array indices we are likely to be used in conjuction with
these types.
2015-04-07 16:53:46 +10:00
fb06a3ec2f extent: move aspect calculation back into object 2015-03-24 02:43:43 +11:00
e461654de8 coord: split coord header into components 2015-03-06 01:46:01 +11:00
99ba406b4d coord: move base coord class into main namespace 2015-03-06 01:16:14 +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
23ffd18acb extent: add scalar variant of expanded 2015-02-12 17:40:47 +11:00
bd22ec3172 extent: add extent2i convenience type 2015-02-04 15:41:18 +11:00
50b0bc37b2 extent: add default constructor 2015-01-28 14:57:55 +11:00
4df3523b28 extent: add vector2f convenience typedef 2015-01-16 14:42:18 +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
ccbae2dcb1 extent: add typecasting member function 2015-01-13 18:30:10 +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
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