welder 0.1.0
Bindings for annotated C++ types, from C++26 reflection
Loading...
Searching...
No Matches
welder::rods::lua Namespace Reference

Functions

consteval const char * lua_metamethod_name (std::meta::info f)
 Map a member operator to its Lua metamethod __name, or nullptr if welder does not expose it (which also gates operator eligibility in the driver).

Function Documentation

◆ lua_metamethod_name()

const char * welder::rods::lua::lua_metamethod_name ( std::meta::info f)
consteval

Map a member operator to its Lua metamethod __name, or nullptr if welder does not expose it (which also gates operator eligibility in the driver).

Unary vs binary is told apart by arity (a member operator takes 0 parameters when unary, 1 when binary), disambiguating the operators with both forms (+, -, *, &, ~). In-place compound assignments (operator+=, …), <=>, &&, ||, ++, -- and = are not mapped (same as the Python rods).

Parameters
fa reflection of the operator function.
Returns
the metamethod __name, or nullptr when not exposed.

Definition at line 49 of file metamethods.hpp.

References welder::detail::is_unary_operator().

Referenced by welder::rods::sol2::operator_mm().