36 Commits

Author SHA1 Message Date
neargye b233b96e49 fix #447 2026-06-08 14:35:52 +04:00
neargye fbe17893d7 fix #452 2026-06-06 22:40:43 +04:00
neargye 9b0262a852 fix #459 #453 2026-06-06 22:34:36 +04:00
neargye 8c3663433b update tests
clean-up
2026-05-31 12:25:35 +04:00
neargye b963e717db update copyright 2026-05-31 12:20:24 +04:00
Fedor Osetrov dcc565c0b8 C++20 modules support in CMake (#455) 2026-05-30 22:47:18 +04:00
neargye 1384769c66 v0.9.8 2026-05-03 20:51:31 +04:00
neargye 8c3a9ec3ad update doc 2026-02-27 21:19:10 +04:00
neargye c1aa6de965 fix build 2026-02-07 21:21:03 +04:00
neargye da737578fe #441 2026-02-05 14:49:28 +04:00
WtDMaO0 905ba74eaa [issue Neargye#441] fix(magic_enum): fix enum_integer return value deduction on unsupported compilers. (#442) 2026-02-05 14:44:40 +04:00
neargye 64c357fcb8 clean-up 2026-01-25 12:41:18 +04:00
neargye 341521b9c0 fix build 2025-11-21 19:06:51 +04:00
neargye a0db691691 fix #397 2025-11-21 18:34:56 +04:00
neargye 3e5609848e fix empry sting and static_str string_view conversion 2025-11-21 18:13:46 +04:00
neargye 0f47904705 fix multiple definitions of adl_info 2025-09-05 19:51:55 +04:00
neargye 083298a045 fix namespace 2025-09-01 01:21:32 +04:00
ZXShady aaf57737d5 Add prefix trimming (#414) 2025-08-31 22:56:19 +04:00
Ryan Saunders ecdeb1cea5 Fix __FUNCSIG__ parsing on x86 by explicitly declaring the calling convention (#405) 2025-06-27 15:25:18 +04:00
neargye a733a2ea66 clean-up 2025-06-11 21:39:34 +04:00
ZXShady d642b05dcb Add adl_ranges (#413)
Co-authored-by: lsemprini <17140216+lsemprini@users.noreply.github.com>
2025-06-11 21:00:01 +04:00
A. Jiang 2ec43969d8 More reliable value validness detection towards CWG1766 (#398)
CWG1766 made out-of-range cast to enumeration without fixed underlying
type raise undefined behavior. Such UB arguably also applies to
`bit_cast`, although it's not required that UB in `bit_cast` makes the
expression non-constant.

Currently, only Clang has implemented CWG1766, while Clang's underlying
`__builtin_bit_cast` happens to be a workaround. However, it's more
reliable to me to rely on the guarantee that core language UB causes
constant evaluation failure.

The approach in this patch effectively detects whether
`std::integral_constant<E, static_cast<E>(V)>` is a valid type, which is
equivalent to whether `static_cast<E>(V)` is a constant expression. When
the answer is `false`, value `V` can't be an enumerator of `E`.
2025-02-20 12:34:09 +04:00
neargye e046b69a37 v0.9.7 2024-11-14 00:15:10 +01:00
Ricardo Cardoso ec8b0e985f Update comments regarding max and min (#369)
The comments in the code regarding MAGIC_ENUM_RANGE_MIN and MAGIC_ENUM_RANGE_MAX values were not updated according to the latest changes on those default values.
2024-07-25 11:29:56 +03:00
neargye dd6a39d0ba v0.9.6 2024-06-29 17:17:06 +03:00
neargye f08355cd0d fix enum_reflected 2024-06-29 17:01:20 +03:00
neargye bc2e94853b add enum_reflected 2024-06-29 16:47:56 +03:00
LEE KYOUNGHEON db0b726c05 Add MAGIC_ENUM_USE_STD_MODULE option to use standard library module. (#350) 2024-05-28 00:17:33 +03:00
neargye ec11ae0c28 removed restrictions on maximum range size 2024-02-22 14:23:33 +04:00
neargye 414fb654d3 update copyright 2024-01-02 02:50:34 +04:00
neargye 9565965afd clean-up 2024-01-02 02:04:57 +04:00
neargye e26b05e0a0 clean-up 2023-12-18 00:56:13 +04:00
Daniil Goncharov e09f25780a checking that the enum is valid (not empty and not forward declaration) (#323) 2023-12-16 17:00:00 +04:00
Justin Boswell 804738ba8a Add support for overriding MAGIC_ENUM_ASSERT (#322) 2023-12-06 11:46:57 +04:00
neargye e55b9b54d5 v0.9.5 2023-11-16 12:32:10 +04:00
neargye eb867ec9ba put headers in include/magic_enum directory 2023-11-12 01:11:55 +04:00