diff --git a/README.md b/README.md index c4459f6..4b91d4e 100644 --- a/README.md +++ b/README.md @@ -141,9 +141,9 @@ enum class Color { RED = 2, BLUE = 4, GREEN = 8 }; * Enum fusion for multi-level switch/case statements ```cpp - switch (magic_enum::enum_fuse(color, direction)) { - case magic_enum::enum_fuse(Color::RED, Directions::Up): // ... - case magic_enum::enum_fuse(Color::BLUE, Directions::Down): // ... + switch (magic_enum::enum_fuse(color, direction).value()) { + case magic_enum::enum_fuse(Color::RED, Directions::Up).value(): // ... + case magic_enum::enum_fuse(Color::BLUE, Directions::Down).value(): // ... // ... } ``` diff --git a/doc/reference.md b/doc/reference.md index a42580f..9266752 100644 --- a/doc/reference.md +++ b/doc/reference.md @@ -330,7 +330,7 @@ constexpr string_view enum_type_name() noexcept; ```cpp template -[[nodiscard]] constexpr std::size_t enum_fuse(Es... values); +[[nodiscard]] constexpr optional enum_fuse(Es... values); ``` * Returns a bijective mix of several enum values. This can be used to emulate 2D switch/case statements. @@ -338,9 +338,9 @@ template * Examples ```cpp - switch (magic_enum::enum_fuse(color, direction)) { - case magic_enum::enum_fuse(Color::RED, Directions::Up): // ... - case magic_enum::enum_fuse(Color::BLUE, Directions::Down): // ... + switch (magic_enum::enum_fuse(color, direction).value()) { + case magic_enum::enum_fuse(Color::RED, Directions::Up).value(): // ... + case magic_enum::enum_fuse(Color::BLUE, Directions::Down).value(): // ... // ... } ```