Commit Graph

86 Commits

Author SHA1 Message Date
c23d2e38f3 types/traits: add try_underlying 2020-09-11 13:36:17 +10:00
1550529a39 types/tagged: add an equality operator 2020-07-21 15:05:21 +10:00
750b3b6519 types/description: add is_fundamental_match for descriptions 2020-05-01 13:10:13 +10:00
03e29aede1 types/description: correct the comment for description::width 2020-05-01 11:25:27 +10:00
ef560d8c1e types/description: use the inner_type for descriptions 2020-05-01 11:19:46 +10:00
4a556af89d types/tagged: add 'visit' call 2020-04-01 14:52:32 +11:00
c9b5605213 types/tagged: add type query 2020-04-01 14:52:17 +11:00
28a7890681 types/tagged: use concepts to restrict assignable types 2020-02-24 14:41:37 +11:00
599a932dfe types/description: add arity_traits specialisation for std::array 2019-12-16 16:16:15 +11:00
3866249607 types/description: add underlying_comparator for enum descriptions 2019-08-30 15:30:45 +10:00
2f28e5caa6 types/traits: add try_signed_t 2019-08-09 11:39:58 +10:00
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