diasurgical/devilutionX

Prefer scoped enums where possible

Open

#2,300 opened on Jul 4, 2021

View on GitHub
 (4 comments) (1 reaction) (0 assignees)C++ (743 forks)batch import
help wanted

Repository metrics

Stars
 (7,255 stars)
PR merge metrics
 (Avg merge 2d 12h) (15 merged PRs in 30d)

Description

Many of the unscoped enums used in devilutionX can use enum class instead. This gives stronger type safety for things like Direction and allows unambiguous constructors/conversion functions in related classes (e.g. Displacement).

This does make it more difficult to cast back to an integral type so the usage of some enums (such as _item_indexes) will need to be evaluated to see if it's worth changing those from unscoped to scoped.

Contributor guide