Commit Graph

3127 Commits

Author SHA1 Message Date
afd601940c pool: initial attempts at clear 2019-05-23 12:36:52 +10:00
d4ba9fa061 pool: remove typed base queries, tighten alignment tests 2019-05-22 17:20:24 +10:00
bdbcb0788d pool: add clear function 2019-05-22 15:05:10 +10:00
ab0bb60602 pool: add move constructor 2019-05-22 15:05:00 +10:00
32e06e889e vector: note the representation of polar angles 2019-05-21 17:44:34 +10:00
f6b1f47e23 coord/traits: add value_trait specialisation for vector 2019-05-21 17:44:18 +10:00
34a69f5656 types/description: rename the size query for description to 'bytes'
This tends to cause less confusion for consumers about the exact meaning
of 'size'. It gets confused with arity quite often.
2019-05-20 12:30:04 +10:00
7805153e17 nocopy: remove deprecated header 2019-05-17 13:44:14 +10:00
8beada1646 debug: split debug headers into components 2019-05-17 12:26:08 +10:00
6bc13544dd types/description: add support for coordinate types 2019-05-17 10:55:49 +10:00
50f38c21af map/fixed: add a const index operator 2019-05-17 10:50:09 +10:00
37f5d77622 iterator/referencing: change relation operators to be const 2019-05-17 10:49:40 +10:00
a4d963e00b debug: move panic related calls to a distinct unit
This will allow us to reduce the required headers and avoid some
circular dependencies in some client libraries.
2019-05-17 10:48:29 +10:00
644cae506f view: move alignment test for cast into the implementation
Moving the alignment test from SFINAE into the implementation as a
static_assert means that users don't need to include the implementation
for types where `cast` isn't called. Otherwise, iterator_traits requires
a definition to work with.
2019-05-15 13:03:38 +10:00
c7689960be types/description: add a not-equal operator 2019-05-15 13:03:25 +10:00
eb1c97a519 types/description: handle BOOL types in dispatch 2019-05-14 13:06:24 +10:00
a56610e205 types/description: add a bool specialisation 2019-05-14 13:01:23 +10:00
b5fdedfe5e random: add 0-to-n uniform convenience function 2019-05-13 16:16:14 +10:00
831b02c907 random: add an explicit generator parameter for container choice 2019-05-12 14:34:53 +10:00
b8af3d0d9e coord/ops: add a modulos function 2019-05-12 14:34:32 +10:00
9a8679c733 random: materialise the offset temporary for container choose
This helps a little in some debugging situations and isn't terrifically
expensive.
2019-05-12 11:31:29 +10:00
98705a61c9 random: add container random choice 2019-05-12 11:04:36 +10:00
b0897a5ea7 iterator/zip: prefer std::size over .size 2019-05-12 10:30:10 +10:00
da6d5cb2a8 view: add ssize query 2019-05-12 07:53:08 +10:00
52467c056d view: add implicit bool operator for 'not empty' 2019-05-12 07:52:54 +10:00
01e46c7725 hash: add a variadic mix operator 2019-05-12 07:52:39 +10:00
dccc4fbbf7 coord/ops: std::hash should return a size_t 2019-05-12 07:52:19 +10:00
347b13ee60 coord/comparator: allow delayed and defaulted deduction of arguments 2019-05-12 07:51:42 +10:00
6d48e5a8e5 types/description: add arity and alignment variables 2019-05-09 10:32:39 +10:00
d8c8d00a4b strongdef: add move constructor and assignment operators 2019-05-08 10:33:09 +10:00
c3c36a662b posix/ostream: protect win32 against missing stat members 2019-05-05 09:30:00 +10:00
82aef3e207 time_win32: add forgotten header 2019-05-05 09:29:35 +10:00
0d265db0c7 cast: disable adddress-of-packed-member in alignment cast 2019-05-05 09:29:07 +10:00
3c78e19c99 types/tagged: prefer variadic alignas over explicit calculation
This reduces the scope for constant integral expression errors under GCC
9
2019-05-04 11:33:59 +10:00
577d7f5887 posix: prefer char strings for the time being 2019-05-04 11:33:43 +10:00
a03bdf5e1d parse/value: remove pessimising move 2019-05-04 11:33:21 +10:00
1d387ea323 debug: suppress nonnull-compare warnings in CHECK 2019-05-04 11:32:59 +10:00
654f391cba string: add upper comparator 2019-05-02 11:03:22 +10:00
f9aa13ad81 ascii: add try_upper transform 2019-05-02 11:03:00 +10:00
050897389b doc: remove documentation of extracted library code 2019-05-01 15:35:32 +10:00
95c5fc5b1d bitwise: remove tests that perform a full rotate
Full rotation is undefined on x86 so it's caught be assertions now.
2019-05-01 13:17:35 +10:00
46c2153434 string: add string_less comparator 2019-05-01 12:39:19 +10:00
ed8db05fed singleton: add swap modifier 2019-05-01 12:39:19 +10:00
c01aa64b32 preprocessor: add DECLARE_CLASS and DECLARE_STRUCT helpers 2019-05-01 12:39:19 +10:00
35ae04510f ascii: add try_lower 2019-05-01 12:39:19 +10:00
5fb87ea4c4 posix/ostream: add stat ostream operators 2019-04-26 12:11:42 +10:00
cd8a2d9816 posix/util: add stat wrappers 2019-04-26 12:11:25 +10:00
0144018992 bitwise: don't allow full rotation 2019-04-26 10:27:22 +10:00
1ca47626aa scoped: don't force rvals for function object 2019-04-25 09:22:02 +10:00
174bd62a29 bitwise: add ctz, aka count trailing zeroes 2019-04-24 13:25:44 +10:00