1
0
Fork 0
mirror of https://github.com/Neargye/magic_enum.git synced 2026-01-09 23:34:23 +00:00
This commit is contained in:
neargye 2022-10-11 19:01:04 +04:00
parent 1b1194bcd5
commit 159a35006d
2 changed files with 12 additions and 9 deletions

View file

@ -61,11 +61,6 @@ Header-only C++17 library provides static reflection for enums, work with any en
## [Examples](example/example.cpp)
```cpp
// For example color enum.
enum class Color { RED = 2, BLUE = 4, GREEN = 8 };
```
* Enum value to string
```cpp
@ -82,6 +77,8 @@ enum class Color { RED = 2, BLUE = 4, GREEN = 8 };
if (color.has_value()) {
// color.value() -> Color::GREEN
}
auto color_or_default = magic_enum::enum_cast<Color>(value).value_or(Color::NONE);
```
* Integer to enum value
@ -90,16 +87,18 @@ enum class Color { RED = 2, BLUE = 4, GREEN = 8 };
int color_integer = 2;
auto color = magic_enum::enum_cast<Color>(color_integer);
if (color.has_value()) {
// color.value() -> Color::RED
// color.value() -> Color::BLUE
}
auto color_or_default = magic_enum::enum_cast<Color>(value).value_or(Color::NONE);
```
* Indexed access to enum value
```cpp
std::size_t i = 1;
std::size_t i = 0;
Color color = magic_enum::enum_value<Color>(i);
// color -> Color::BLUE
// color -> Color::RED
```
* Enum value sequence
@ -122,7 +121,7 @@ enum class Color { RED = 2, BLUE = 4, GREEN = 8 };
```cpp
Color color = Color::RED;
auto color_integer = magic_enum::enum_integer(color);
// color -> 2
// color -> 1
```
* Enum names sequence