4e10aa59b2
strongdef: remove the numeric_limits specialisation
...
Apparently we don't need this any more, and it's kinda ugly.
2018-06-27 17:59:26 +10:00
0df16bb9ee
strongdef: swap template params, move to dedicated namespace
2018-06-27 17:58:45 +10:00
eef3327415
iterator: use index_type for the indices pseudo-container
2018-06-27 17:57:47 +10:00
4094a96160
iterator: add index_type trait
2018-06-27 17:57:22 +10:00
279af4c796
strongdef: significantly tighten restrictions on usage
...
It turns out that equality in particular was triggering implicit
construction of strongdef types. We make it much harder for these types
to spontaneously emerge.
2018-06-22 17:41:56 +10:00
6c0803b6e9
types/traits: add the identity type function
2018-06-22 17:41:36 +10:00
a95388b02b
json-schema: print the validated schema
...
The validation process may modify the supplied JSON and it's useful for
debugging purposes to visualise any defaulted values.
2018-06-22 14:09:23 +10:00
65dad60e09
json/tree: forward the arguments for to_json/from_json
2018-06-22 14:08:59 +10:00
b918aa7fc0
types/traits: rename chain as compose
2018-06-21 13:19:21 +10:00
6f3952abcb
strongdef: add default constructor if the type supports it
2018-06-21 13:18:53 +10:00
6dea530f6e
coord/ops: remove misplaced include
2018-06-20 13:25:49 +10:00
cad9af9e25
gitlab: use the correct relative address for cmake builds
2018-06-20 13:23:14 +10:00
c2955997cc
gitlab: cache the artefacts required for testing
2018-06-20 13:04:55 +10:00
8bc87e7c3f
build: add C to the required language list
...
This is required for various compilation tests (like CHECK_SIZE_TYPE).
2018-06-20 12:50:27 +10:00
eb1b0de4c2
gitlab: use recursive submodule clones
2018-06-20 12:45:39 +10:00
0a61a64174
gitlab: add packages for ragel and python3
2018-06-20 12:41:47 +10:00
ec9b0a4797
gitlab: correct the name of the ninja package
2018-06-20 12:34:51 +10:00
d5201cba01
gitlab: add a trivial gitlab CI configuration
2018-06-20 12:31:51 +10:00
ba24e9e5af
build: explicitly include the nerdcruft cmake module
2018-06-20 12:23:15 +10:00
ba0eabc848
job/queue: restrict job release lambda's parameters
2018-06-18 14:01:06 +10:00
d74fca4e98
scoped: simplify universal references
...
this avoids problems with use after stack unwind discovered using
sanitizers.
2018-06-18 13:51:59 +10:00
db90a4db53
scoped: declare copy and move constructors
...
they aren't defined currently because we haven't needed them. this is
just to avoid accidents where the defaults will prove problematic.
2018-06-18 13:50:16 +10:00
3722c8aaa3
region: add union operator for region/region
2018-06-14 15:07:25 +10:00
e9d5909f21
scoped: eliminate the raii header
2018-06-13 15:43:01 +10:00
710a99b865
scoped: add scoped value restoring class
2018-06-12 14:50:54 +10:00
22b25221b2
coord/base: add std::array conversion operator
2018-06-12 10:54:08 +10:00
0a599b4b14
region: add minimal docstrings for some queries
2018-06-07 15:20:37 +10:00
c4a8ff3424
region: add intersects overload for point/region
...
complements the existing region/point intersects test
2018-06-07 15:20:05 +10:00
6d6c53d5d1
tuple/type: fix typo in remove_t
2018-06-06 19:17:41 +10:00
d70d06468e
tuple/type: add entuple, cat, remove, and unique types
2018-06-06 19:13:17 +10:00
8cd33ae5e5
strongdef: allow constructor to be implicit
2018-06-05 13:25:23 +10:00
c6cefe219d
README: consolidate README files
2018-06-05 09:35:33 +10:00
50f43d2193
region: add free function point intersection test
2018-06-05 09:28:49 +10:00
33222d3ef4
types/description: add trivial type categorisation enums
2018-06-03 15:25:50 +10:00
18e2b615d5
std: add compact fixed width typedefs
2018-06-03 15:25:17 +10:00
82b1c9fa40
hash/siphash: set default compression/finalisation params
2018-06-01 13:25:21 +10:00
437b4267d3
maths: relax argument restrictions for min/max
2018-05-30 16:54:04 +10:00
11a077f63d
region: add distance2
2018-05-30 14:35:11 +10:00
16fc2effb2
region: add uniform sampler
2018-05-30 14:35:03 +10:00
78dd62283b
extent: add uniform sampler
2018-05-30 14:34:48 +10:00
5dadd8eb38
random: add coord generator
2018-05-30 14:33:31 +10:00
d21b7809dd
random: add unit float and ranged int generator
2018-05-30 14:33:17 +10:00
a90ce0920f
random: use more robust seeding strategy
2018-05-30 14:32:39 +10:00
cdac2dcbc2
maths: add 'frac' function
...
Extracts the fractional component from a floating point number. Prefer
to use temporaries that you have on hand over these functions.
2018-05-21 15:06:07 +10:00
7f00f92e59
geom/aabb: add query for aabb corners
2018-05-21 10:47:51 +10:00
7070607839
endian: refactor endian conversion
2018-05-19 18:06:34 +10:00
7d315c8095
allow/raw/linear: add typed offset query
2018-05-18 16:51:42 +10:00
b7a4b8d1c0
geom/sample: defend against maybe unused variable
2018-05-18 13:51:34 +10:00
e77f59e3ae
geom/aabb: define combining 'or' operator
2018-05-18 13:51:19 +10:00
09dfad5391
geom/aabb: add or'ing operator for points
2018-05-16 16:21:56 +10:00