Commit Graph

98 Commits

Author SHA1 Message Date
3e480c7bbb Use std versions of sized types
This fixes some stricter warnings and includes arising in gcc-13 and
clang-16
2023-05-15 10:33:23 +10:00
1828687a7e build: add [[fallthrough]] attributes 2022-08-18 13:11:38 +10:00
6ed70a4839 concepts: split and remove C++20 re-implementations 2022-03-18 12:19:18 +10:00
92afaf38ec build: avoid double underscore header guards 2021-04-14 15:35:49 +10:00
2c7eb400c3 debug: move warning code into warn header 2021-04-12 15:53:13 +10:00
6cac76e210 types/description: make_description should be constexpr
This would be possible in the general case, but is fine for fundamental
types.
2021-04-07 12:53:49 +10:00
dd1e9bbbd7 build: use more explicit headers 2021-01-20 14:19:33 +10:00
12716e8cb2 types/tagged: simplify the implementation of detail::visit 2020-12-02 12:05:26 +10:00
fdd8723bf4 types/tagged: use more explicit return types for tag 2020-12-02 12:04:45 +10:00
e22f4a9001 types/sized: update bits types to follow a more current style 2020-10-22 11:27:25 +10:00
8111074a44 types/tagged: add not-equal operator 2020-10-21 10:22:51 +10:00
2d6d924d66 types/tagged: support cvref in visit 2020-09-22 07:54:15 +10:00
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