98e9fe45c4
cast: silence warnings when lossless casting to smaller sized enums
2018-12-06 15:58:47 +11:00
9eb2784d84
bitwise: convert popcount template into explicit overloads
...
popcount, popcountl, and popcountll need to be used for each appropriate
fundamental type. It's easiest to just provide overloads for popcount
for the few cases we have available than to deal with templates.
2018-12-06 15:56:37 +11:00
5627f0f280
bitwise: remove unneeded BITMASK_BITS constants
2018-12-06 15:43:30 +11:00
1a82e4fe76
build: transition from experimental filesystem
2018-12-05 19:12:03 +11:00
f3f59e1f37
except: add string_error mixin
2018-12-04 13:46:23 +11:00
8c4b7ac93c
except: add docstrings
2018-12-03 15:33:14 +11:00
ec16afc747
except: add custom base exception
2018-12-03 15:29:21 +11:00
d6b80da18b
cast: add sanity cast
2018-12-03 15:29:04 +11:00
9ea44a5063
geom/ops: add variadic aabb calculation
2018-11-30 14:46:41 +11:00
ce3e3d83d3
format: allow implicit conversion from formats to strings
2018-11-29 13:10:02 +11:00
c7cc0dbf4c
random: add a trivial test of the default generator
...
This allows us to ensure some level of coverage using tools like ASan.
2018-11-28 15:24:28 +11:00
c7eb82c993
random: use decltype auto for wrapper functions
2018-11-28 15:24:01 +11:00
532bd3b706
geom: delete rval constructors for samplers
...
Samplers tend to hold a const reference to the relevant data and so we
want to ensure it's not possible to inadvertantly pass in a reference to
data that is going out of scope.
2018-11-28 15:23:03 +11:00
1e0a87d5df
geom/sample: align the interfaces for volume/surface sampling
2018-11-26 15:21:18 +11:00
38906862a3
test: use local style includes where possible
...
This removes some assumptions that break building the library in
isolation.
2018-11-19 16:45:19 +11:00
f75c8f6c6d
types/tagged: use relative paths for test headers
2018-11-19 16:27:02 +11:00
1dcb20fb53
geom/sample: Use correct grammar in comments.
2018-11-19 15:41:55 +11:00
210c963d9f
geom: remove template templates from geom::sampler
2018-11-19 15:36:29 +11:00
e26165cea9
algo/search: return the score and the object in minimises
2018-11-19 15:35:56 +11:00
0138b00f87
algo/search: improve minimises
documentation
2018-11-19 15:35:42 +11:00
e42f71f9af
types/traits: add is_orderable trait
2018-11-19 15:35:05 +11:00
3625a92977
algo: add minimises
linear search
2018-11-14 10:21:51 +11:00
a691683c7d
types/tagged: add missing include for alignment cast
2018-11-13 15:20:10 +11:00
a948b3d682
preprocessor: add convenience APPEND_COMMA macro
2018-11-13 15:19:53 +11:00
b1d44b1872
preprocessor: use pragma once for include guards
...
This slightly simplifies some of the generator code.
2018-11-13 15:19:23 +11:00
6b00668692
types: add 'tagged' union type
2018-11-13 12:57:19 +11:00
84ef2c1117
tuple/type: add 'nth' accessor for tuples
2018-11-13 12:56:48 +11:00
8c0c374a53
darray: correct the empty condition
2018-11-09 15:01:35 +11:00
26edf25b82
darray: add insert_n overload
2018-11-08 14:11:14 +11:00
f44c7d5b46
darray: add equality operators
2018-11-08 14:10:50 +11:00
7e8f2df869
darray: add 'remain' query
2018-11-08 14:10:29 +11:00
85a736b9f4
darray: don't zip over unequal ranges
2018-11-08 14:10:15 +11:00
4489fff11c
darray: add size_type definition
2018-11-08 14:10:04 +11:00
1ccabff51c
darray: add 'full' query
2018-11-08 12:55:37 +11:00
d73c33c4bd
darray: add defaulted copy constructors and assignment operators
2018-11-07 16:04:03 +11:00
79edea8f2d
darray: add a static capacity, dynamic sized array
2018-11-05 21:31:30 +11:00
ddb0e75962
alloc/arena: add mutating accessor to underlying store
2018-11-02 14:29:19 +11:00
17c9d79c77
iterator: rewrite detail::zip to avoid dangling references
2018-11-01 17:04:50 +11:00
7d55221331
types/traits: add is_tuple_like trait
2018-11-01 16:30:56 +11:00
44eeeaa134
ascii: add is_alpha
query
2018-10-31 09:29:28 +11:00
dca92e2199
preprocessor: use local include directives for TAP header
2018-10-30 22:08:32 +11:00
bfe0a92eec
preprocessor: build the header out of tree
...
This avoids unnecessary rebuilds when we have parallel configurations
being built.
2018-10-30 21:41:15 +11:00
888d88a74d
view: return a pair in split
...
A pair documents the intention a lot more closely given we have an
explicit ordering of the two components.
2018-10-30 15:00:48 +11:00
383805af3a
view: remove addition operators
...
The effect of these operators was never particularly clear. It's better
to remove them completely and replace them with explicit function calls.
2018-10-30 15:00:02 +11:00
b510c48797
cast: disable invalid overloads of known
using sfinae
2018-10-22 18:22:02 +11:00
2bbe6dc900
tuple/type: commenting and style
2018-10-18 17:12:18 +11:00
f21369c15a
io: add an fd
overload for slurp
2018-10-18 12:51:56 +11:00
0de176591d
io: remove the view
overload for slurp
...
This just confuses matters. A `view` can be across arbitrary data, and
is often used as a representation of a file's _data_.
2018-10-18 12:50:21 +11:00
e2eaa1a7af
string: add tests for character_position
2018-10-17 11:48:03 +11:00
98e935d4d7
string: extract tokeniser tests into a function
2018-10-16 18:06:45 +11:00