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