Skip to content

add enum_min and enum_max - #464

Draft
aouxwoux wants to merge 1 commit into
Neargye:masterfrom
aouxwoux:agent/expose-enum-bounds
Draft

add enum_min and enum_max#464
aouxwoux wants to merge 1 commit into
Neargye:masterfrom
aouxwoux:agent/expose-enum-bounds

Conversation

@aouxwoux

@aouxwoux aouxwoux commented Aug 2, 2026

Copy link
Copy Markdown

what changed

  • add enum_min and enum_max to the public api
  • support the default reflected subtype and explicit �s_flags<>
  • add common/flags tests and reference docs

why

detail::min_v and detail::max_v are useful when mapping reflected enum values, but they are internal. this exposes the same information through the existing function-based api while keeping those implementation details private.

the functions return the first and last reflected values, so custom ranges and flags use the same ordering as enum_values.

addresses #462

checks

  • git diff --check
  • not run locally: this environment does not have a c++ compiler/toolchain

@Neargye

Neargye commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Please export enum_min and enum_max from module/magic_enum.cppm and add module coverage. Currently, import magic_enum; users cannot access the new public API.
And need rebase onto the current master; the branch is 19 commits behind and currently has merge conflicts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants