mirror of
https://github.com/Neargye/magic_enum.git
synced 2026-01-10 23:44:29 +00:00
Constexpr switch names (#142)
This commit is contained in:
parent
74123638d1
commit
c1568c5b26
2 changed files with 263 additions and 60 deletions
|
|
@ -57,6 +57,16 @@ enum number : unsigned long {
|
|||
_4 = four
|
||||
#endif
|
||||
};
|
||||
|
||||
enum class crc_hack {
|
||||
b5a7b602ab754d7ab30fb42c4fb28d82
|
||||
};
|
||||
|
||||
enum class crc_hack_2 {
|
||||
b5a7b602ab754d7ab30fb42c4fb28d82,
|
||||
d19f2e9e82d14b96be4fa12b8a27ee9f
|
||||
};
|
||||
|
||||
template <>
|
||||
struct magic_enum::customize::enum_range<number> {
|
||||
static constexpr int min = 100;
|
||||
|
|
@ -141,6 +151,13 @@ TEST_CASE("enum_cast") {
|
|||
REQUIRE(nt.value() == number::three);
|
||||
REQUIRE_FALSE(enum_cast<number>("four").has_value());
|
||||
REQUIRE_FALSE(enum_cast<number>("None").has_value());
|
||||
|
||||
REQUIRE(magic_enum::enum_cast<crc_hack>("b5a7b602ab754d7ab30fb42c4fb28d82").has_value());
|
||||
REQUIRE_FALSE(magic_enum::enum_cast<crc_hack>("d19f2e9e82d14b96be4fa12b8a27ee9f").has_value());
|
||||
|
||||
constexpr auto crc = magic_enum::enum_cast<crc_hack_2>("b5a7b602ab754d7ab30fb42c4fb28d82");
|
||||
REQUIRE(crc.value() == crc_hack_2::b5a7b602ab754d7ab30fb42c4fb28d82);
|
||||
REQUIRE(magic_enum::enum_cast<crc_hack_2>("d19f2e9e82d14b96be4fa12b8a27ee9f").value() == crc_hack_2::d19f2e9e82d14b96be4fa12b8a27ee9f);
|
||||
}
|
||||
|
||||
SECTION("integer") {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue