neargye
b233b96e49
fix #447
2026-06-08 14:35:52 +04:00
neargye
088d4a12e2
fix #393
2026-06-08 14:35:50 +04:00
neargye
f0496ecd1b
fix adl
2026-06-06 22:46:43 +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
Kenan Millet
a9f11418c0
Added efficient iterators to magic_enum::containers::bitset ( #450 )
...
* Added efficient iterators to magic_enum::containers::bitset
* Matched bracket spacing to the rest of the lib.
* iterator_impl() now zero-inits even though it should not generally be called
* Hoping to fix macos/windows builds.
* Fixed past-end ++ and from-end --
2026-06-05 19:04:29 +04:00
neargye
3072d5243c
fix build
2026-05-31 12:29:28 +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
1110266151
fix #446
2026-02-27 20:46:19 +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
Christopher D. Canfield
5b6e12fa1b
Fix redefinition errors in module (regression fix) ( #439 )
...
Fixes type redefinition errors when compiling magic_enum as a module with the MAGIC_ENUM_USE_STD_MODULE preprocessor variable defined.
2026-01-25 12:42:09 +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
Thomas Khyn
a413fcc9c4
fix: use inline instead of static for constexpr in header file ( #401 )
...
Using `static constexpr` in a header file does not seem to be correct - see [1] - and generates a bug when building the magic_enum module with GCC 15
[1] https://isocpp.org/blog/2018/05/quick-q-use-of-constexpr-in-header-file
2025-02-20 12:38:17 +04:00
Daniil Goncharov
ff6e5dd1c8
fix 379 ( #382 )
2025-02-20 12:37:47 +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
Bastian Schmitz
15a085f234
fix enum_fuse shift value calculation (Neargye#386) ( #387 )
2024-11-14 00:04:44 +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
asolwa
9a9308fd54
fix bitset constructor ( #367 )
2024-07-19 15:51:58 +03:00
Atanov Mikhail
664ee62c12
Parameterize formatter::format to use with FMT_COMPILE ( #365 )
2024-07-08 20:37:57 +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
Daniil Goncharov
801c68bdc9
fix wshadow ( #354 )
2024-05-25 17:35:16 +03:00
LEE KYOUNGHEON
7afc57b194
Support C++20 module. ( #343 )
2024-05-09 00:02:49 +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
aa465f7f37
update doc and example
2024-01-02 02:39:10 +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
neargye
41f674b061
fix enum_fuse
2023-12-09 23:56:44 +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