nkr
A C++20 library with a custom meta-programming language.
nkr::enumeration Namespace Reference

Enumeration types provide abstractions over the basic C and C++ enums, making them fully usable types. More...

Detailed Description

Enumeration types provide abstractions over the basic C and C++ enums, making them fully usable types.

Unlike the standard enum and enum class, nkr enumeration types provide the full benefits of classes, such as operator overloads and a full suite of constructors and assigners to carry a value. They are also inheritable so that multiple enum lists can be composed. Conversion operators are also fully definable, allowing you to change how your specific enumeration will behave when set with variables. Anything limiting about enum and enum class does not apply to an nkr enumeration type.