Scoped enums

Scoped enumerations prevent the members from polluting the surrounding namespace. They can only be accessed through their scope and do not default to be an integer.

source

Thanks to @schubev.

View on Github