fdd8723bf4
types/tagged: use more explicit return types for tag
2020-12-02 12:04:45 +10:00
d5ba7e016f
string: add to_upper
overload for char arrays
2020-12-01 13:32:55 +10:00
2778c073a7
posix/fd: only define fallocate
wrapper for Linux
2020-11-30 10:46:33 +10:00
082a0f39b6
range: instantiate more ostream operators specialisations
2020-11-30 10:44:11 +10:00
3b66bb9066
io: add an fallocate
wrapper
2020-11-28 08:39:40 +10:00
88f1e8e654
colour: add srgba2f typedef
2020-11-27 16:29:41 +10:00
695f8787e1
pointer: add missing header for std::forward
2020-11-27 08:58:30 +10:00
8bfcab5f40
pointer: add thin pointer wrapper
2020-11-25 14:21:20 +10:00
252a870a22
range: correct the ostream operator template variable refs
2020-11-23 12:01:01 +10:00
4250e71d6e
fixed_string: use pointers for copy to storage
2020-11-18 06:50:17 +10:00
5cea4fb7b5
rand/dist/uniform: avoid sign comparison warning in assertion
2020-11-12 13:08:11 +10:00
f091e97f11
random: prefer internal uniform distributions
2020-11-12 11:08:11 +10:00
f116422086
rand: add uniform distribution routines
2020-11-12 11:07:53 +10:00
82d3c36ebd
rand/xoshiro: simplify state initialisation from seed_seq
2020-11-12 11:07:14 +10:00
7185af7961
rand/xoshiro: use a std::array to store the state
...
This makes it marginally easier to work use with std algorithms
2020-11-12 11:06:28 +10:00
17a85e8187
iterator/infix: avoid using references to temporaries in make_infix
2020-11-10 16:22:46 +10:00
0fe14f038d
set/dset: prefer view overloads over span overloads
...
This lets us target both pointer ranges and dset objects with more or
less the same code.
2020-11-10 15:29:24 +10:00
15c49a8437
set/dest: add clear operation
2020-11-10 15:29:10 +10:00
5b38c030fa
set/dset: add scalar add
2020-11-10 11:26:14 +10:00
95f05cd632
g/sample: remember to forward generator objects in extent sampler
2020-11-06 12:27:55 +10:00
5d585d405f
random: add a generator parameter overload of uniform(ValueT)
2020-11-06 12:27:55 +10:00
e1f18edacf
bitwise: add word halving query
2020-11-03 15:32:47 +10:00
8f5604dde6
hash: add halfsipmix
2020-11-03 11:45:21 +10:00
4b57e373f9
g/s/surface: don't ignore the first accept test
2020-10-27 16:40:18 +10:00
58d86bbc95
region: add a single 'covers' test
2020-10-27 16:00:53 +10:00
0d9a80ea84
region: add another intersects test
2020-10-27 15:32:11 +10:00
61ac466161
hash: ensure all values passed to mix
are of the same type
2020-10-27 15:31:43 +10:00
b2abc7e7f8
g/s/surface: test first poisson candidate against AcceptT
2020-10-27 15:31:09 +10:00
98d8bd4c8e
cast: add an approximate implementation of std::bit_cast
2020-10-27 15:30:40 +10:00
6782b821b9
region: add some region-region intersects tests
2020-10-27 12:20:41 +10:00
e22f4a9001
types/sized: update bits types to follow a more current style
2020-10-22 11:27:25 +10:00
3fffacc19c
g/s/surface: add an 'accept' query for poisson sampling
2020-10-22 09:29:22 +10:00
94d3f676c6
introspection: update name tests for clang-11
2020-10-22 08:38:59 +10:00
5a7613d3f3
coord/comparator: convert to use std::weak_ordering
...
This allows more flexibility in some client code (eg, calling this to
sort compound objects like region).
2020-10-21 14:03:08 +10:00
b0ac349f70
string: fancy comparators should take only string_views
...
This reduces complications dealing with implicit casts from things like
'std::string' which are fairly common.
2020-10-21 10:23:04 +10:00
8111074a44
types/tagged: add not-equal operator
2020-10-21 10:22:51 +10:00
928e2aa2d5
maths: add unary 'max'
2020-10-20 15:34:27 +10:00
6b46852902
debug: add is_interactive_console query
2020-10-20 07:01:54 +10:00
6d2be3daed
view: add an iterator typedef
2020-10-19 17:38:10 +10:00
f3302ffd5f
sort: use a comparator object for index sort
2020-10-15 09:40:01 +10:00
801ccf2ebd
parse: cookies should be maybe_unused
...
They aren't necessarily _doing_ anything. Just waiting to go out of
scope.
2020-10-14 12:21:49 +10:00
b858daedd9
concepts: add initial clock concept
2020-09-30 15:14:26 +10:00
f7abb3201e
iterator/infix: add complete make_infix overload for arrays
2020-09-30 10:57:15 +10:00
19551e30ed
dset: add named erase method
2020-09-29 12:52:50 +10:00
04de102789
introspection: split the header into functional groups
2020-09-24 15:42:14 +10:00
43b8e8f6f2
introspection: add type_name_with_namespace
2020-09-24 14:40:56 +10:00
43f5db1cc1
view: operator bool should be explicit
...
Implicit bool tends to allow some unexpected behaviour when indexing
with incorrect types. eg, `view<int const*> a; a["foo"];`
2020-09-24 08:05:47 +10:00
fdaa5e1392
assert: split CHECK_LIMIT into INCLUSIVE and INDEX
...
LIMIT hid an off-by-one bug when tests used end iterators. We rename the
assertion to uncover all uses of the flawed implementation, and split it
into an identical assertion, and one intended to protect against
iterator ends.
2020-09-24 08:03:41 +10:00
dd281fbe1e
dset: forward only the live data for contains
with dset
2020-09-22 07:57:35 +10:00
2d6d924d66
types/tagged: support cvref in visit
2020-09-22 07:54:15 +10:00