|
welder 0.1.0
Bindings for annotated C++ types, from C++26 reflection
|
Language-agnostic resolution: given a reflected type/member and a target language, decide what participates in binding. More...
Go to the source code of this file.
Namespaces | |
| namespace | welder |
Functions | |
| consteval bool | welder::welded_for (std::meta::info type, lang L) |
| Is type welded for language L — i.e. | |
| consteval bool | welder::names_template_specialization (std::meta::info mem) |
| Is mem a namespace-scope alias naming a class-template specialization — the one way an instantiation can enter a namespace sweep? | |
| consteval bool | welder::alias_welded_for (std::meta::info mem, lang L) |
| Is the specialization named by alias mem welded for language L — reading the alias's own weld first, the instantiation's (via its template) second? | |
| consteval bool | welder::alias_marks_admissible (std::meta::info mem) |
| May the annotations on alias-declaration mem appear there? | |
| consteval bool | welder::member_alias_marks_admissible (std::meta::info mem) |
| May the annotations on member type-alias mem appear there? | |
| consteval policy_kind | welder::policy_of (std::meta::info type) |
| The reflection policy declared on type, defaulting to automatic. | |
| consteval bool | welder::protected_welded (std::meta::info type, lang L) |
| Does type admit its protected members for language L — i.e. | |
| consteval bool | welder::excluded_for (std::meta::info member, lang L) |
| Does member carry an exclude mark covering language L? | |
| consteval bool | welder::included_for (std::meta::info member, lang L) |
| Does member carry an include mark covering language L? | |
| consteval bool | welder::trusted_for (std::meta::info member, lang L) |
| Does member carry a trust_bindable mark covering language L? | |
| consteval rv_kind | welder::return_policy_of (std::meta::info fn, lang L) |
| The return-value policy declared on callable fn for language L. | |
| template<std::meta::info Fn, lang L> | |
| consteval void | welder::validate_return_policy () |
| Reject a return_policy on Fn (for language L) that contradicts Fn's return type. | |
| consteval bool | welder::member_bound (std::meta::info member, lang L, policy_kind pol) |
| The core decision a backend asks for each member: does member bind for language L under policy pol? | |
| consteval std::vector< std::meta::info > | welder::public_bases (std::meta::info type) |
| The types of the public base classes of type. | |
Language-agnostic resolution: given a reflected type/member and a target language, decide what participates in binding.
Backends consume these predicates and never re-implement the annotation semantics.
Definition in file reflect.hpp.