|
welder 0.1.0
Bindings for annotated C++ types, from C++26 reflection
|
The stored form of a policy::weld_protected annotation: the languages a type's protected members are admitted for. More...
#include <welder/annotations.hpp>
Public Member Functions | |
| template<class... Ls> | |
| consteval weld_protected_spec | operator() (Ls... ls) const |
| Scope the admission to specific languages. | |
Public Attributes | |
| unsigned | mask = 0 |
| The languages to admit protected members for; 0 == all. | |
The stored form of a policy::weld_protected annotation: the languages a type's protected members are admitted for.
A distinct spec type — not a policy_kind — so it combines freely with policy::automatic / policy::opt_in: it widens which access levels are visible to the resolution, while the policy kind decides how greedily the visible members bind. Usable bare (all languages) or called with languages to scope it, like exclude_spec:
Repeated annotations union their languages. Private members are never admitted — that boundary is welder's design, not a policy.
Definition at line 130 of file annotations.hpp.
|
inlineconsteval |
Scope the admission to specific languages.
| Ls | the language enum types (deduced). |
| ls | the languages to admit protected members for. |
Definition at line 138 of file annotations.hpp.
References welder::lang_mask().
| unsigned welder::detail::weld_protected_spec::mask = 0 |
The languages to admit protected members for; 0 == all.
Definition at line 131 of file annotations.hpp.