Skip to content

P3086 R4 Proxy: A Pointer-Semantics-Based Polymorphism Library #1741

@wg21bot

Description

@wg21bot
Collaborator

P3086R0 Proxy: A Pointer-Semantics-Based Polymorphism Library (Mingxin Wang)

Activity

added
LEWGLibrary Evolution
LEWGILibrary Evolution Incubator
on Jan 17, 2024
added this to the 2024-telecon milestone on Jan 17, 2024
added
B3 - additionBucket 3 as described by P0592: material that is not mentioned in P0592
C++26Targeted at C++26
on Jan 17, 2024
inbal2l

inbal2l commented on Jan 17, 2024

@inbal2l
Member

Related to P0957 (#306)
@nliber @billy-baker - please look at this first, preferably before Tokyo

added
needs-revisionPaper needs changes before it can proceed
and removed on Mar 18, 2024
billy-baker

billy-baker commented on Mar 18, 2024

@billy-baker
Collaborator

2024-03-18 Library Evolution Incubator Telecon

P3086R1: A Pointer-Semantics-Based Polymorphism Library

2024-03-18 Library Evolution Incubator Minutes

Champion: Mingxin Wang

Chair: Billy Baker

Minute Taker: Elias Kosunen

Start: 2024-03-18 13:40 UTC + 9

Does this paper have:

  • Why this facility should go into the standard library?
  • Examples? Yes
  • Field experience?
    • Implementation experience? Yes
    • Usage experience? Yes
    • Deployment experience?
  • Performance considerations? Yes
  • Discussion of prior art? Yes
  • Changes Library Evolution previously requested?
  • Support for "std::format", "hash", and allocators (if required)? N/A
  • Wording? Yes
  • Feature test macro? Yes
  • Freestanding? No

POLL: The problem presented in P3086R1 Proxy: A Pointer-Semantics-Based Polymorphism Library is a problem worth solving.

Attendance: 11

# of Authors: 1

Author Position:

Outcome: Unanimous consent to continue with P3086.

POLL: Remove make_proxy from P3086.

Attendance: 11

# of Authors: 1

Author Position:

Outcome: Unanimous consent for the next revision to remove make_proxy.

End: 16:15 UTC + 9

Summary

While there has been usage of the github library, it is unknown if any of the usage was from embedded development.

The non-intrusive capability was well-liked.

The paper shows macros (not proposed for standardization) to avoid the boilerplate necessary to define a facade. Some non-macro solution in this area should be considered for future standardization.

Removal of make_proxy for lack of allocator support improves consensus. A separate future paper could explore this more. The pattern of make_shared/allocate_shared was given as a possible solution.

The paper proposes adding a header. The facilities of P3019 "indirect and polymorphic: Vocabulary Types for Composite Class Design" were added to the header. There should be more discussion on where the facilities of P3086 should reside.

Next Steps

Another revision of the paper is needed that removes make_proxy. Some discussion of P3019 "indirect and polymorphic: Vocabulary Types for Composite Class Design" would be good to have in the next revision. Alternate naming suggestions, if possible, would also be good to have in the next revision. As noted, the wording needs to use tuple-like in two places.

2 remaining items

changed the title [-]P3086 R1 Proxy: A Pointer-Semantics-Based Polymorphism Library[/-] [+]P3086 R2 Proxy: A Pointer-Semantics-Based Polymorphism Library[/+] on Apr 17, 2024
removed this from the 2024-telecon milestone on Dec 18, 2024
wg21bot

wg21bot commented on Jan 14, 2025

@wg21bot
CollaboratorAuthor

P3086R3 Proxy: A Pointer-Semantics-Based Polymorphism Library (Mingxin Wang)

added this to the 2025-telecon milestone on Jan 14, 2025
changed the title [-]P3086 R2 Proxy: A Pointer-Semantics-Based Polymorphism Library[/-] [+]P3086 R3 Proxy: A Pointer-Semantics-Based Polymorphism Library[/+] on Jan 14, 2025
wg21bot

wg21bot commented on May 20, 2025

@wg21bot
CollaboratorAuthor

P3086R4 Proxy: A Pointer-Semantics-Based Polymorphism Library (Mingxin Wang)

changed the title [-]P3086 R3 Proxy: A Pointer-Semantics-Based Polymorphism Library[/-] [+]P3086 R4 Proxy: A Pointer-Semantics-Based Polymorphism Library[/+] on May 20, 2025
billy-baker

billy-baker commented on Jun 19, 2025

@billy-baker
Collaborator

Discussed in Sofia.

POLL: Forward “P3086R4: Proxy: A Pointer-Semantics-Based Polymorphism Library” to LEWG knowing that more motivation may be needed.

SF F N A SA
2 1 4 1 1

Attendance: 11 (IP) + 5 (R)

Author’s Position: SF

Outcome: No consensus to forward at this time.

The library is still viewed as solving a problem. Improving the motivation for inclusion in the standard library versus usage directly from GitHub or a package manager would improve consensus. A revised paper with improved motivation would be needed for Kona.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    B3 - additionBucket 3 as described by P0592: material that is not mentioned in P0592C++29Targeted at C++29ISShip vehicle: ISLEWGILibrary Evolution Incubatorneeds-revisionPaper needs changes before it can proceedsize - largepaper size estimate

    Type

    No type

    Projects

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @cor3ntin@inbal2l@billy-baker@jensmaurer@wg21bot

        Issue actions

          P3086 R4 Proxy: A Pointer-Semantics-Based Polymorphism Library · Issue #1741 · cplusplus/papers