Commit Graph

2622 Commits

Author SHA1 Message Date
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
073b41da42 iterator: add make_infix overload for arrays 2018-05-14 14:36:15 +10:00
fc58ec8e0f build: prefer local to system include directives 2018-05-12 14:28:23 +10:00
1567c4f9cc cast: test the correct type for alignment 2018-05-10 14:54:03 +10:00
0eb7fdf5cd debug: add breakpoints on CHECK failures again 2018-05-10 14:53:43 +10:00