Commit Graph

3565 Commits

Author SHA1 Message Date
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
a392ca1aa9 set: add a simple static-alloc, dynamic-resize, set 2020-09-21 14:34:23 +10:00
831a7b7037 maths: add integer consteval logarithm 2020-09-19 09:05:23 +10:00
c23d2e38f3 types/traits: add try_underlying 2020-09-11 13:36:17 +10:00
34aed6c74d strongdef: add is_strongdef type_trait 2020-09-11 13:36:04 +10:00
9153155076 singleton: add "maybe" pointer accessor 2020-09-11 13:35:51 +10:00
ca192ef4d8 debug/assert: add warn_return 2020-09-10 15:08:10 +10:00