|
welder 0.1.0
Bindings for annotated C++ types, from C++26 reflection
|
A welded enum's binding: the name→value table, how to mirror a name onto the enclosing scope, and whether the enum is scoped (an unscoped enum also mirrors its names onto the enclosing scope, like C++). More...
#include <welder/rods/lua/sol2/rod.hpp>
Public Attributes | |
| ::sol::table | values |
| The E = { Name = value, … } table. | |
| std::function< void(const char *, lua_Integer)> | mirror |
| Write one name onto the enclosing scope. | |
| bool | scoped |
| true for enum class. | |
A welded enum's binding: the name→value table, how to mirror a name onto the enclosing scope, and whether the enum is scoped (an unscoped enum also mirrors its names onto the enclosing scope, like C++).
The mirror is a closure rather than a table because the enclosing scope differs in kind: a module is a plain sol::table, but a class-nested enum's scope is the outer's sol::usertype — whose static entries write through sol2's usertype storage, not plain table sets.
| std::function<void(const char*, lua_Integer)> welder::rods::sol2::rod::_enum_binding< E >::mirror |
| bool welder::rods::sol2::rod::_enum_binding< E >::scoped |
| ::sol::table welder::rods::sol2::rod::_enum_binding< E >::values |