Commit Graph

38 Commits

Author SHA1 Message Date
0ce69083e6 cast: disable warnings for function casts in ffs
Vulkan presents a few function pointers as (void*)(*)(void*) or
something like that, and we have to cast these to the extension
signatures.

This fixes some errors under clang-17
2023-11-19 09:27:12 +10:00
6ed70a4839 concepts: split and remove C++20 re-implementations 2022-03-18 12:19:18 +10:00
1dd516d1ed cast: bit_cast should be constexpr 2022-02-07 12:14:06 +10:00
de1d9649a3 cast: allow cast::known for non-class types 2021-04-07 12:52:50 +10:00
dd1e9bbbd7 build: use more explicit headers 2021-01-20 14:19:33 +10:00
2a16ac4163 cast: remove unused 'validate' cast 2021-01-20 14:19:33 +10:00
98d8bd4c8e cast: add an approximate implementation of std::bit_cast 2020-10-27 15:30:40 +10:00
c56058d40d cast: disable const-qual warnings for ffs cast 2020-07-24 10:30:46 +10:00
29e876c712 cast: prefer concepts to SFINAE 2020-03-16 14:12:33 +11:00
6cf54f6f14 cast: use concepts to constrain narrow 2020-02-27 11:49:41 +11:00
b99db1a893 cast: explicitly include string_view 2020-02-17 14:28:43 +11:00
de282c556e cast: remove mistaken float-equality warnings for lossless cast 2019-12-03 09:34:02 +11:00
8beada1646 debug: split debug headers into components 2019-05-17 12:26:08 +10:00
0d265db0c7 cast: disable adddress-of-packed-member in alignment cast 2019-05-05 09:29:07 +10:00
9e5cfc0dc6 build: many compilation fixes for win32 2019-01-04 17:13:21 +11:00
becd1e24e3 build: add doxygen comments for various headers 2019-01-03 11:15:00 +11:00
75d5f84ff6 cast: account for pointers-to-const in ffs 2019-01-02 13:48:59 +11:00
98e9fe45c4 cast: silence warnings when lossless casting to smaller sized enums 2018-12-06 15:58:47 +11:00
d6b80da18b cast: add sanity cast 2018-12-03 15:29:04 +11:00
b510c48797 cast: disable invalid overloads of known using sfinae 2018-10-22 18:22:02 +11:00
eb4a3be352 cast: suppress more warnings for 'ffs' 2018-08-20 15:08:15 +10: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
1567c4f9cc cast: test the correct type for alignment 2018-05-10 14:54:03 +10:00
117a870b19 cast: add ffs cast 2018-05-10 13:52:49 +10:00
ec44c68ce6 view: require fully named types for casting 2018-05-10 12:54:45 +10:00
2ec9a7ebe6 maths: remove util::is_nan in preference of std::isnan 2018-05-10 12:45:45 +10:00
06e29ed136 cast: add alignment cast 2018-05-09 17:47:47 +10:00
c9cc38eac7 cast: tighten type constraints for narrow cast 2018-01-30 16:25:28 +11:00
1d11f05918 cast: move casting functions into util::cast namespace 2018-01-16 15:11:15 +11:00
34788756d2 build: don't use './' as an include prefix
GCC produces ODR error when including paths of the form './foo' and
'foo' in the same binary. Rather than managing duplication we just
universally pick the absolute form over the relative form.
2017-11-22 16:49:37 +11:00
d1fe677977 cast: use is_nan to avoid integer warnings 2017-01-23 21:48:12 +11:00
6781f7a361 cast: allow trunc_cast to same type
this makes templated code slightly easier to write
2016-10-25 17:50:11 +11:00
0e29675ef5 cast: tighten trunc_cast type restrictions
trunc_cast should be between float/int/uint or to types of lesser
precision. also restrict to fundamental types until we actually test
with arbitrary types.
2016-06-29 17:53:44 +10:00
0be5ccf5c7 cast: style 2015-11-17 16:38:59 +11:00
e05e049c69 cast: ensure real<->int or size reduction in trunc_cast 2015-11-17 16:38:34 +11:00
cfb5e13c28 cast: simplify sign_cast, remove identity case 2015-11-17 16:37:51 +11:00
424e6e8701 cast: move types/casts to cast 2015-11-17 16:19:27 +11:00