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
38e1a19e37
alloc: all allocators should take a type for alloc/dealloc
2018-05-10 13:53:06 +10:00
117a870b19
cast: add ffs cast
2018-05-10 13:52:49 +10:00
ad90e10c5d
view: remove unnecessary enable_if type
2018-05-10 13:31:51 +10:00
2620e2ed33
alloc: return views rather than raw pointers
2018-05-10 12:54:45 +10:00
df3a556867
view: add convenience wrappers for addition operators
2018-05-10 12:54:45 +10:00
6042d9ab76
geom/ellipse: remove spurious print from test case
2018-05-10 12:54:45 +10:00
2c919a6582
view: use alignment cast for casting
2018-05-10 12:54:45 +10:00
ec44c68ce6
view: require fully named types for casting
2018-05-10 12:54:45 +10:00
29702704fb
view: improve template deduction guides
2018-05-10 12:48:20 +10:00
2ec9a7ebe6
maths: remove util::is_nan in preference of std::isnan
2018-05-10 12:45:45 +10:00
4116442e40
debug: don't rely on format for output
...
debug is relied upon by a great deal of other units so it's very
difficult to include other popular headers like format.hpp without
triggering cyclic dependencies.
2018-05-10 12:44:03 +10:00
06e29ed136
cast: add alignment cast
2018-05-09 17:47:47 +10:00
2926776c97
view: use universal references for return types
...
Reduces the possibility that we dereference a temporary from the
internal iterators.
2018-05-08 21:51:09 +10:00
170f9ceb2c
string: prefer type deduction over explicit typenames
2018-05-08 21:50:43 +10:00
34fc834a29
view: prefer std::next over std::advance
...
next is slightly less likely to trigger issues dereferencing a temporary
(since we aren't producing an lvalue).
2018-05-08 21:49:27 +10:00
e7c108c770
json: remove use of the restrict qualifier
...
This mostly just complicates type manipulations. We can add it back in
if performance actually warrants it, or if it becomes an official
qualifier.
2018-05-08 21:48:17 +10:00