Commit Graph

75 Commits

Author SHA1 Message Date
07b1b04abc types/tagged: change requirements to trivially copyable+destructible
We don't care about constructible given we do that ourselves internally.
2019-07-15 14:34:55 +10:00
538349cb3f types/dispatch: add forgotten header guard 2019-06-04 15:42:02 +10:00
6a77ed074a types/dispatch: test against correct widths for integer dispatch 2019-05-30 13:17:10 +10:00
de33f8c8ce types/dispatch: remember to include the original enum tag 2019-05-30 10:51:49 +10:00
41edd3cebe types/description: add initial enum support 2019-05-30 10:43:28 +10:00
a21f09493d types/description: add a validation specialisation 2019-05-28 10:47:29 +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
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
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
6d48e5a8e5 types/description: add arity and alignment variables 2019-05-09 10:32:39 +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
340d873d3a iterator: move each iterator to their own unit 2019-03-18 16:18:27 +11:00
94d891c973 types/description: add support for make_description<void> 2019-03-17 23:32:50 +11:00
effab40a14 types/description: add equality operator 2019-03-17 23:32:34 +11:00
28e0a1afea types/description: add visit dispatcher for descriptions 2019-03-16 18:19:52 +11:00
c3840f05b8 types/tagged: prefer forward to move 2019-03-11 13:01:01 +11:00
d124fffcb3 types/tagged: add const accessor 2019-03-11 12:11:03 +11:00
4a4d5f297a types/traits: use LessThanComparable more consistently 2019-02-03 17:28:53 +11:00
15de10c19d types/traits: check for begin/end in is_container_v 2018-12-17 12:50:05 +11:00
e42f71f9af types/traits: add is_orderable trait 2018-11-19 15:35:05 +11:00
a691683c7d types/tagged: add missing include for alignment cast 2018-11-13 15:20:10 +11:00
6b00668692 types: add 'tagged' union type 2018-11-13 12:57:19 +11:00
7d55221331 types/traits: add is_tuple_like trait 2018-11-01 16:30:56 +11:00
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87 relicense under MPL-2.0 2018-08-04 15:14:06 +10:00
bcb4d7569f types/traits: add is_same_basic_type trait 2018-08-01 18:39:01 +10:00
00c46e0f9a types/traits: move inner_type to the util namespace 2018-08-01 17:18:59 +10:00
6c0803b6e9 types/traits: add the identity type function 2018-06-22 17:41:36 +10:00
b918aa7fc0 types/traits: rename chain as compose 2018-06-21 13:19:21 +10:00
33222d3ef4 types/description: add trivial type categorisation enums 2018-06-03 15:25:50 +10:00
eeb5215921 traits: addd array specialisation for is_container 2018-04-18 21:48:55 +10:00
5228cecbfb traits: add is_same_template_template trait 2018-03-15 15:25:18 +11:00
741012151b types/traits: add inner_type query for ::value_type 2018-03-12 23:11:26 +11:00
923ba6b745 types/traits: add dedicated function argument counting trait 2018-03-03 13:42:10 +11:00
d323197459 types/bits: add bytes_uint_t and bits_uint_t 2018-01-17 20:09:21 +11:00
681768093e hash: use a consistency, less flexible, interface 2018-01-13 15:24:12 +11:00
27a93c0780 traits: add is_contiguous query for containers 2017-12-28 17:50:37 +11:00
a2995186f6 traits: add nth_argument trait query 2017-09-10 12:42:18 +10:00
d79b7da067 types/traits: make func_traits more robust 2017-09-08 14:19:46 +10:00
fb5614ae2b types/traits: add remove_member_const 2017-09-08 14:19:28 +10:00
bb07f6573c type/traits: add remove_noexcept 2017-09-08 14:19:03 +10:00
a307b5f777 types/traits: add chaining type modifier 2017-09-08 14:10:57 +10:00
a1c8c8e2ac types/traits add remove_noexcept and func_traits 2017-09-06 13:31:02 +10:00
86f6611f61 comparator: workaround clang structured bindings ICE 2017-06-29 15:28:58 +10:00
3f8c490733 comparator: indexed comparator should be const 2017-06-29 15:28:37 +10:00
01ed956ee4 comparator: use relative paths for dependent header
the header wasn't found when included from external projects. this uses
the correct relative path
2017-06-29 15:27:29 +10:00
0eaec8ad65 comparator: move pointer comparator code inline 2017-06-19 15:36:57 +10:00