|
welder 0.1.0
Bindings for annotated C++ types, from C++26 reflection
|
The stored form of a weld annotation: the mask of target languages. More...
#include <welder/annotations.hpp>
Public Member Functions | |
| template<class... Ls> | |
| consteval weld_spec | operator() (Ls... ls) const |
| Scope the weld to specific languages. | |
Public Attributes | |
| unsigned | mask = 0 |
| The languages this entity is welded for; 0 == all. | |
The stored form of a weld annotation: the mask of target languages.
Usable bare (every language welder binds) or called with languages to scope it, like exclude_spec and weld_protected_spec:
The bare form is the language-agnostic spelling a project reaches for when it wants a type to appear in whatever rods it builds — adding a backend later (a C# module beside a Python one) then needs no annotation churn. Scope it only where a type genuinely belongs to one language's surface.
Definition at line 125 of file annotations.hpp.
|
inlineconsteval |
Scope the weld to specific languages.
| Ls | the language enum types (deduced). |
| ls | the target languages this entity is exposed to. |
Definition at line 133 of file annotations.hpp.
References welder::lang_mask().
| unsigned welder::detail::weld_spec::mask = 0 |
The languages this entity is welded for; 0 == all.
Definition at line 126 of file annotations.hpp.