1
0
Fork 0
mirror of https://github.com/Neargye/magic_enum.git synced 2026-01-10 23:44:29 +00:00
Commit graph

351 commits

Author SHA1 Message Date
neargye
9bfb90760a clean-up 2022-02-11 18:54:59 +02:00
Pavel I. Kryukov
5444f00a04
Use bitwise OR for magic_enum::enum_fuse (#131) 2022-02-11 18:35:50 +02:00
neargye
e7b9231906 fix enum_fuse if values out of range 2022-02-11 01:14:05 +02:00
neargye
63ff515163 clean-up 2022-02-10 20:17:44 +02:00
Pavel I. Kryukov
1f8e29b140
Add enum fusing function (#127) 2022-02-10 19:58:59 +02:00
v1nh1shungry
22242a613a
fix enum_type_name (#129) 2022-02-06 21:59:53 +02:00
rpatters1
ab2bf820e1
remove static assert for static string because it does not solve issue (#125) 2022-01-29 18:46:28 +02:00
neargye
08089871af enum_range more snifae-friendly 2022-01-27 19:33:37 +02:00
neargye
9ed19fb9e9 move is_flags to customize::enum_range
force set the enum-flag true or false
2022-01-27 15:34:41 +02:00
rpatters1
a8c9e57fbe
fix #122 add static_assert to limit size of N in static_string (#123) 2022-01-25 20:14:23 +02:00
Daniil Goncharov
aecf0db795
New enum-flags API (#120) 2022-01-08 17:30:44 +02:00
neargye
e500ae7f00 fix flag::enum_value 2022-01-04 21:49:22 +02:00
neargye
f4738bef44 fix hard-limit on enum range 2021-11-26 11:15:46 +02:00
Florian Becker
5bc2689fa5
Some code quality (#110) 2021-11-05 19:24:11 +02:00
neargye
0325167113 add compile time get value 2021-10-09 02:13:27 +03:00
Komachin
38f86e4d09
Added support for non-ASCII characters (UNIX/Linux) (#95) 2021-08-09 17:44:30 +03:00
neargye
b19a54c272 clean-up 2021-08-04 16:30:10 +03:00
Alexander Karatarakis
41c916432b
Fix underflow in out of range check (#88)
* Special case bool in cmp_less to avoid msvc's warnings

* Fix underflow in out of range check

The previous fix addressed bool but it seems that was not the heart
of the issue.

The problem is that (lhs - 1) can underflow.

Another example of the check trigger when it shouldn't is:
uint8_t with min_value set to 0 and a value of uint8_t::max
lhs-1 would underflow and find max (see added test).

The issue happens when lhs == rhs. To avoid that situation: flip the if-else!
`cmp_less(rhs, lhs)`means that rhs is strictly less than lhs, so
the check will not trigger when lhs == rhs.

Also, cleanup the bool special-case, as it is no longer necessary.

Note: for the bug to manifest, it is important that the min
of the enums is customized to be 0, so corresponding enum_range
specializations need to be present in the regression tests.
2021-06-25 15:00:54 +03:00
neargye
739942ab7d fix enums with underlying type bool 2021-06-24 11:48:37 +03:00
neargye
3d1f6a5a2a v0.7.3 2021-06-21 21:00:39 +03:00
sajimon
081a77b96a
Add ability to include external configuration header (#86)
* Add ability to include external configuration header

* Add documentation regarding MAGIC_ENUM_CONFIG_FILE
2021-06-17 16:06:27 +03:00
jimmyorourke
8deb7f96e7
fix typo in comment (#81) 2021-05-07 11:16:24 +03:00
neargye
5091dc6acf fix using leak 2021-04-28 13:10:59 +03:00
neargye
5b282dd4e8 fix range check 2021-04-22 12:43:04 +03:00
neargye
1db1f585f4 fix typo 2021-04-21 19:21:54 +03:00
neargye
c646c9d76d fix hard error if enum is empty or non-reflected 2021-04-21 19:19:03 +03:00
Daniil Goncharov
ed2dbfd46c
workaround std::array in some cases is missing constexpr on some of its functions (#76) 2021-03-10 11:05:44 +02:00
neargye
9830d319c4 silence some warning 2021-01-23 07:47:05 +02:00
neargye
0810148bae update copyring 2021-01-23 07:47:01 +02:00
neargye
beb77df3f1 clean-up 2021-01-10 14:54:49 +02:00
bjacklyn
36ab9fa1a4
Detect values out of range and fail compilation (#70)
This checks for a value at (range_min - 1) and (range_max + 1) for numerical enums
(i.e. not flag enums) and fails compilation with a static_assert if any value is found

Co-authored-by: Brandon Jacklyn <bjacklyn@tesla.com>
2021-01-10 14:43:47 +02:00
neargye
806f2530ef clean-up 2020-12-29 18:56:51 +02:00
neargye
dc8660e2bc v0.7.2 2020-12-23 14:18:20 +02:00
neargye
9ed98e3463 fix #69 2020-12-21 17:52:42 +02:00
neargye
f4d98123d9 v0.7.1 2020-12-02 12:09:44 +02:00
nackdai
e24befa5fd
fix typo (#66) 2020-11-29 15:29:17 +02:00
neargye
9fb2ab9133 clean-up 2020-11-26 01:27:24 +02:00
neargye
4da4b75644 add namespace magic_enum:🎏:bitwise_operators 2020-11-25 11:17:29 +02:00
neargye
72ba8a89d4 clean-up 2020-11-19 15:29:05 +02:00
Bela Schaum
1b587718b7
Compile fix for gcc 7.5 (#62) 2020-11-19 15:23:20 +02:00
neargye
8f1d0ba39f fix clang with msvc 2020-11-10 19:14:54 +02:00
neargye
ae7aabf63d update comments 2020-11-08 22:00:23 +02:00
Florian Becker
bb32605276
Fix extra-semi-stmt (#60) 2020-10-21 18:02:40 +03:00
neargye
702e2d3271 bump version 2020-10-16 16:03:53 +03:00
neargye
701bff9159 v0.7.0 2020-10-14 20:03:02 +03:00
neargye
24e06d6eef fix build 2020-10-13 13:36:18 +03:00
neargye
e73c1b1168 more comfortable static check 2020-10-13 13:29:21 +03:00
neargye
8edf2e3286 fix noising assert 2020-10-13 13:14:09 +03:00
neargye
4813c04927 fix #53 2020-09-16 00:26:01 +03:00
neargye
59aa63ac64 update doc 2020-09-08 20:38:34 +03:00