|
welder 0.1.0
Bindings for annotated C++ types, from C++26 reflection
|
Full-automation entry point for the nanobind rod: the expansion behind WELDER_MODULE(ns, nanobind). More...
Go to the source code of this file.
Macros | |
| #define | WELDER_DETAIL_MODULE_ENTRY_nanobind(ns, ...) |
| nanobind's expansion of the backend-agnostic WELDER_MODULE(ns, nanobind). | |
Full-automation entry point for the nanobind rod: the expansion behind WELDER_MODULE(ns, nanobind).
Include this (instead of rod.hpp) when you want welder to emit the module's C entry symbol too, so no nanobind macro appears in user code:
Definition in file module.hpp.
| #define WELDER_DETAIL_MODULE_ENTRY_nanobind | ( | ns, | |
| ... ) |
nanobind's expansion of the backend-agnostic WELDER_MODULE(ns, nanobind).
Emits nanobind's module entry point, welds namespace ^^ns into it, then runs the optional trailing { } block as post-glue with the module handle named module in scope. The block is supplied as the body of a forward-declared, internally-linked glue function (the same technique nanobind's NB_MODULE itself uses for its body), so WELDER_MODULE(ns, nanobind) { … } and WELDER_MODULE(ns, nanobind) {} both work. Defined at file scope (macros ignore namespaces); see <welder/module.hpp> for the WELDER_MODULE dispatch.
| ns | the namespace / module name token. |
| ... | optionally, the exact welder::welder<…> type to weld with (must be over a nanobind-module rod) — see WELDER_MODULE. |
Definition at line 31 of file module.hpp.