Tags: quicknir/wise_enum
Tags
Make compatible with sanitizers-cmake This pull requests makes wise_enum compatible with [sanitizers-cmake](https://github.com/arsenm/sanitizers-cmake) by setting the language to C++ in the CMake project definition. Without this wise_enum can't be used in projects that use sanitizers-cmake, because it needs to know the language of the project.
Improve code readability, simplify API: - Instead of an array of pair, use a simple struct with named fields value and name - With improved readability from this, having two arrays no longer necessary - Use the term "name" instead of "descriptor" throughout documentation
Major changes to implementation strategy: - Rather than generating nearly everything, use much more minimal generation to provide a generic loop, and use those constructs from a single variadic macro implementation. This massively reduces the size of the codegen file, also allowing a far more generous number of max enums by default - Change approach to separating (identifier, initializer) enumeration arguments so that unparenthesized commas in initializer are no longer an issue - Change documentation to match