Skip to content

Add vtable_layout.hxx: view_vtable/const_view_vtable for a bare interface (8/20) - #108

Draft
jbcoe wants to merge 1 commit into
reflection/06-typesfrom
reflection/07-vtable-layout
Draft

Add vtable_layout.hxx: view_vtable/const_view_vtable for a bare interface (8/20)#108
jbcoe wants to merge 1 commit into
reflection/06-typesfrom
reflection/07-vtable-layout

Conversation

@jbcoe

@jbcoe jbcoe commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Synthesizes per-interface vtable structs via define_aggregate,
matching the manual backend's const_view_vtable_X/view_vtable_X
split. define_aggregate can only complete a type declared in the same
scope as the consteval block completing it; worked around with a
consteval function template holding a local incomplete struct.

@jbcoe jbcoe changed the title Add vtable_layout.hxx: view_vtable/const_view_vtable for a bare interface Add vtable_layout.hxx: view_vtable/const_view_vtable for a bare interface (8/20) Jul 27, 2026
@jbcoe
jbcoe force-pushed the reflection/06-types branch from 306edcd to 6970ab6 Compare July 28, 2026 11:33
@jbcoe
jbcoe force-pushed the reflection/07-vtable-layout branch from 24fe46e to 4f39fde Compare July 28, 2026 11:33
@jbcoe
jbcoe force-pushed the reflection/06-types branch from 6970ab6 to 314baa7 Compare July 28, 2026 14:22
@jbcoe
jbcoe force-pushed the reflection/07-vtable-layout branch from 4f39fde to 5505612 Compare July 28, 2026 14:22
@jbcoe
jbcoe force-pushed the reflection/06-types branch from 314baa7 to bbf9572 Compare July 28, 2026 14:29
@jbcoe
jbcoe force-pushed the reflection/07-vtable-layout branch from 5505612 to 21027f7 Compare July 28, 2026 14:29
@jbcoe
jbcoe force-pushed the reflection/06-types branch from bbf9572 to 7df9909 Compare July 28, 2026 15:14
@jbcoe
jbcoe force-pushed the reflection/07-vtable-layout branch from 21027f7 to 6d1ac14 Compare July 28, 2026 15:14
@jbcoe
jbcoe force-pushed the reflection/06-types branch from 7df9909 to db7ac9b Compare July 28, 2026 15:28
@jbcoe
jbcoe force-pushed the reflection/07-vtable-layout branch from 6d1ac14 to f4abbb2 Compare July 28, 2026 15:28
@jbcoe
jbcoe force-pushed the reflection/06-types branch from db7ac9b to df0a9ff Compare July 28, 2026 18:27
@jbcoe
jbcoe force-pushed the reflection/07-vtable-layout branch from f4abbb2 to de7fe50 Compare July 28, 2026 18:27
@jbcoe
jbcoe force-pushed the reflection/06-types branch from df0a9ff to 75d37d4 Compare July 28, 2026 19:37
@jbcoe
jbcoe force-pushed the reflection/07-vtable-layout branch from de7fe50 to 9abf339 Compare July 28, 2026 19:37
@jbcoe
jbcoe force-pushed the reflection/06-types branch from 75d37d4 to 4fe9f8d Compare July 28, 2026 20:22
@jbcoe
jbcoe force-pushed the reflection/07-vtable-layout branch from 9abf339 to c61fbe4 Compare July 28, 2026 20:22
@jbcoe
jbcoe force-pushed the reflection/06-types branch from 4fe9f8d to 990611b Compare July 29, 2026 09:48
@jbcoe
jbcoe force-pushed the reflection/07-vtable-layout branch from c61fbe4 to 19b2958 Compare July 29, 2026 09:48
…face

Synthesizes per-interface vtable structs via define_aggregate,
matching the manual backend's const_view_vtable_X/view_vtable_X
split. define_aggregate can only complete a type declared in the same
scope as the consteval block completing it; worked around with a
consteval function template holding a local incomplete struct.
@jbcoe
jbcoe force-pushed the reflection/06-types branch from 990611b to 9fed4c4 Compare July 29, 2026 10:14
@jbcoe
jbcoe force-pushed the reflection/07-vtable-layout branch from 19b2958 to 967f4f8 Compare July 29, 2026 10:14
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