GMP 0.3.0
Generative Metaprogramming library for C++
Loading...
Searching...
No Matches
reflection_enum.cpp

Enumerate values and names with GMP reflection helpers. Demonstrates compile-time enumeration counting, name lookup, and retrieval of the full enumerator value list.

#include <gmp/gmp.hpp>
enum class Color {
Red,
Green,
Blue,
};
int main() {
constexpr auto values = gmp::enum_values<Color>();
static_assert(gmp::enum_count<Color>() == 3);
static_assert(gmp::enum_name<Color::Red>() == "Red");
static_assert(values[0] == Color::Red);
static_assert(values[1] == Color::Green);
static_assert(values[2] == Color::Blue);
return 0;
}
consteval auto enum_values()
Get all enumerator values of an enumeration type at compile-time.
Definition meta.hpp:155