C++ API Reference
The full C++ reference is generated by Doxygen from the real
src/welder/** headers — public API, detail/ internals, and every template —
read through welder's own INPUT_FILTER so the [[=welder::…]]
docs come through, and themed to match this site.
What's in there
| You'll find |
Examples |
The welder::rod concept |
the emission contract every rod satisfies |
| The entry point |
welder::welder<Rod, Style, Carriage> (weld_type / weld_function / weld_variable / weld_namespace / weld_namespace_as_submodule / weld_module) |
| The carriage (traversal driver) |
welder::stitch_welding_carriage (default) / welder::tack_welding_carriage — basic_carriage<Resolution> (bind_type, bind_enum, bind_function, bind_variable, bind_namespace, build_module) |
| The reflection layer |
reflect.hpp, bind_traits.hpp, bindable.hpp, doc.hpp |
| The vocabulary |
lang.hpp, annotations.hpp |
| The pybind11 rod |
rods/python/pybind11/rod.hpp (welder::rods::pybind11::rod<>) |
| The nanobind rod |
rods/python/nanobind/rod.hpp (welder::rods::nanobind::rod<>) |
| The Lua rods |
rods/lua/sol2/rod.hpp (welder::rods::sol2::rod) / rods/lua/luabridge/rod.hpp (welder::rods::luabridge::rod) |
| The build-time rods |
rods/lua/luacats/rod.hpp (the ---@meta stub emitter) / rods/python/trampolines/rod.hpp (the trampoline generator) |
| The shared Python docstring styles |
rods/python/doc_style.hpp (welder::rods::python::google_style) |
| The name styles |
naming.hpp (welder::naming::snake_case, …) / rods/python/naming.hpp (welder::rods::python::pep8) |
Internal helpers (detail/) |
included — EXTRACT_PRIVATE / INTERNAL_DOCS are on |
Guide first, reference second
New to welder? Start with the Guide — it explains why each
piece exists, with runnable examples. The Doxygen reference is the exhaustive
what, best used once you know the shape of the library.
Not seeing the reference?
The reference is generated at build time. If the link above 404s, build the
docs with Doxygen available:
cmake --preset welder-gcc16 -DWELDER_BUILD_DOCS=ON
cmake --build --preset welder-gcc16 --target welder-docs