Add forwarders.hxx: per-member forwarder-base template and its combinator (11/20) - #111
Draft
jbcoe wants to merge 1 commit into
Draft
Add forwarders.hxx: per-member forwarder-base template and its combinator (11/20)#111jbcoe wants to merge 1 commit into
jbcoe wants to merge 1 commit into
Conversation
jbcoe
force-pushed
the
reflection/09-conformance
branch
from
July 28, 2026 11:33
00601b9 to
cd42524
Compare
jbcoe
force-pushed
the
reflection/10-forwarders
branch
from
July 28, 2026 11:33
7f3d8aa to
d5fa597
Compare
jbcoe
force-pushed
the
reflection/09-conformance
branch
from
July 28, 2026 14:22
cd42524 to
5fb8419
Compare
jbcoe
force-pushed
the
reflection/10-forwarders
branch
from
July 28, 2026 14:22
d5fa597 to
114a724
Compare
jbcoe
force-pushed
the
reflection/09-conformance
branch
from
July 28, 2026 14:29
5fb8419 to
69baff0
Compare
jbcoe
force-pushed
the
reflection/10-forwarders
branch
from
July 28, 2026 14:29
114a724 to
d9560d1
Compare
jbcoe
force-pushed
the
reflection/09-conformance
branch
from
July 28, 2026 15:14
69baff0 to
a29c031
Compare
jbcoe
force-pushed
the
reflection/10-forwarders
branch
from
July 28, 2026 15:14
d9560d1 to
d80ea3b
Compare
jbcoe
force-pushed
the
reflection/09-conformance
branch
from
July 28, 2026 15:28
a29c031 to
6c5675c
Compare
jbcoe
force-pushed
the
reflection/10-forwarders
branch
from
July 28, 2026 15:28
d80ea3b to
75653d3
Compare
jbcoe
force-pushed
the
reflection/09-conformance
branch
from
July 28, 2026 18:27
6c5675c to
92f7a27
Compare
jbcoe
force-pushed
the
reflection/10-forwarders
branch
from
July 28, 2026 18:27
75653d3 to
d309744
Compare
jbcoe
force-pushed
the
reflection/09-conformance
branch
from
July 28, 2026 19:37
92f7a27 to
60c55e0
Compare
jbcoe
force-pushed
the
reflection/10-forwarders
branch
from
July 28, 2026 19:37
d309744 to
ef35579
Compare
jbcoe
force-pushed
the
reflection/09-conformance
branch
from
July 28, 2026 20:23
60c55e0 to
9cdc20c
Compare
jbcoe
force-pushed
the
reflection/10-forwarders
branch
from
July 28, 2026 20:23
ef35579 to
2c2a893
Compare
jbcoe
force-pushed
the
reflection/09-conformance
branch
from
July 29, 2026 09:48
9cdc20c to
cf29086
Compare
jbcoe
force-pushed
the
reflection/10-forwarders
branch
from
July 29, 2026 09:48
2c2a893 to
e20d572
Compare
…ator forwarder_base synthesizes a one-member base struct per interface member, generalizing tutorials/2_vanishing_this_pointer.cc's hand-written GreetBase/ShoutBase/Owner pattern; forwarders<Bases...> combines an arbitrary list of them via multiple inheritance. Disables LTO on the new test target, since GCC 16 trunk can't stream std::meta::info-typed constants through it.
jbcoe
force-pushed
the
reflection/09-conformance
branch
from
July 29, 2026 10:14
cf29086 to
34f3394
Compare
jbcoe
force-pushed
the
reflection/10-forwarders
branch
from
July 29, 2026 10:14
e20d572 to
edf1316
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
forwarder_base synthesizes a one-member base struct per interface
member, generalizing tutorials/2_vanishing_this_pointer.cc's
hand-written GreetBase/ShoutBase/Owner pattern; forwarders<Bases...>
combines an arbitrary list of them via multiple inheritance. Disables
LTO on the new test target, since GCC 16 trunk can't stream
std::meta::info-typed constants through it.