Skip to content

Make reflection bindings inherit their metadata interfaces - #91

Merged
sergio-eld merged 1 commit into
masterfrom
binding-metadata-inheritance
Oct 29, 2026
Merged

sergio-eld merged 1 commit into
masterfrom
binding-metadata-inheritance

Conversation

@sergio-eld

Copy link
Copy Markdown
Owner

Allow bindings wherever their metadata wrappers are accepted, including concept-constrained visitors. Inherit record queries and shared member metadata instead of duplicating forwarding methods, while preserving bound access and ownership rules.

Add as_meta() to select the unbound interface explicitly. Keep phase-dependent metadata lookup in the detail header and meta_for as a user-facing convenience after the core definitions. Rename the pre-C++17 function convenience macro to OMNI_FUNCTION, accepting free functions with or without an ampersand.

Document the inherited interface and cover metadata deduction, overload selection, constexpr conversion, and owning and reference bindings in tests and the comprehensive guide.

Allow bindings wherever their metadata wrappers are accepted, including concept-constrained visitors. Inherit record queries and shared member metadata instead of duplicating forwarding methods, while preserving bound access and ownership rules.

Add as_meta() to select the unbound interface explicitly. Keep phase-dependent metadata lookup in the detail header and meta_for as a user-facing convenience after the core definitions. Rename the pre-C++17 function convenience macro to OMNI_FUNCTION, accepting free functions with or without an ampersand.

Document the inherited interface and cover metadata deduction, overload selection, constexpr conversion, and owning and reference bindings in tests and the comprehensive guide.
@sergio-eld
sergio-eld merged commit d75ff80 into master Oct 29, 2026
54 checks passed
@sergio-eld
sergio-eld deleted the binding-metadata-inheritance branch October 29, 2026 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant