C++ Logo

sg14

Advanced search

Re: [isocpp-sg14] SG14 July monthly call

From: Michael Wong <fraggamuffin_at_[hidden]>
Date: Mon, 27 Jul 2026 13:58:10 -0400
SG14 C++ Standardization Update Meeting — July 2026

Attendees

Michael (chair, national body representative, Canada . Patrice (presenter
of the SG14 games-direction omnibus paper). Andre (raised the ISO
publication timeline). Visal (also addressed as "Vishal" in the transcript;
asked most technical questions; ran the Cappy/Corrosio code on Windows).
Nevin (joined mid-session; champions the Clump proposal; works in
high-performance computing). Vinnie Falco (joined late; author of the Cappy
and Corrosio networking libraries). Khalil contributed on ghost data and
pattern matching and is not named. The chair stated roughly five
participants for most of the session.
Summary

This was a lightly attended SG14 summer telecon combining a chair
standardization update with an item-by-item walkthrough of the group's
games-direction omnibus paper (P4029) to prepare a revision, followed by an
unscheduled deep dive into the Cappy and Corrosio coroutine networking
libraries with the author present. No polls were taken and no decisions
were forced; the session confirmed which requested features have landed in
C++26, forward-tracked the rest to C++29, and opened SG14 participation in
the Boost review of Cappy and Corrosio.
Chair Standardization Update

The chair reported on a lightly attended WG21 meeting


   -

   The recent WG21 meeting drew roughly 81 participants versus a usual 200;
   most business concluded by Thursday
   -

   C++26 discussion was procedurally allowed because the ballot has not yet
   issued; the chair has not seen it in his national body inbox, which he
   reads as a sign of delay
   -

   Next WG21 meeting in Búzios, Brazil; next face-to-face SG14/SG19 in the
   Wednesday afternoon slot at CppCon; most meetings outside the US for
   roughly three years due to travel difficulty
   -

   The chair appealed for volunteer help at CppCon

SG14 Games-Direction Omnibus Paper (P4029) — Revision Walkthrough

The presenter walked the standing games-direction paper item by item to
mark progress before drafting the next revision, covering C++26 outcomes
and C++29 tracking.


   -

   In-place vector: done in C++26 under P0843? — fixed compile-time maximum
   capacity, inline storage, no heap allocation; push_back throws bad_alloc on
   overflow with exception-free try_push_back alternatives; framed as the core
   SG14 no-allocation use case for game engines, embedded, and real-time
   -

   Small vector: not in C++26 (committee prioritized the simpler in-place
   vector); trade-offs cited are iterator invalidation, allocator policy, ABI
   stability; existing implementations in Boost, LLVM/Clang, Folly; push for
   C++29 via the Clump proposal
   -

   Reflection: significantly progressed — padding-band detection now
   achievable via reflection and std::meta functions (noted by a core-group
   member); generative side present; reflection on functions and function
   arguments still missing
   -

   Compile-time string interpolation: partial
   -

   Constexpr containers surviving to runtime: not working; objects live in
   the constexpr sandbox but do not escape; work continues
   -

   Compiler support: some C++26 reflection features currently exercisable
   only on GCC 16, not yet Clang or MSVC
   -

   std::linalg: done in C++26 on mdspan — provides BLAS level 1/2/3
   vocabulary (vector-vector, matrix-vector, matrix-matrix); higher-level
   decompositions and solvers (LU, QR, Cholesky, LAPACK) not standardized but
   buildable on the primitives
   -

   Value-based (deterministic, heap-free) exceptions: not done, tracked for
   C++29 or later; at least one ABI issue outstanding
   -

   Pattern matching: not done, likely C++29; missing-pattern semantics
   (terminate vs compile-time diagnostic) was the blocker; had positive
   support but not enough consensus for the C++26 deadline
   -

   Trivial relocation / repeatable types: in progress — an earlier approach
   was accepted then pulled; the presenter's paper has been through feedback
   rounds at SG23 and Evolution; Evolution directed contact with the profiles
   and contracts authors; multiple competing approaches exist, SG14 guidance
   on a preferred approach requested for the R1 revision
   -

   Thread naming, stack-size control: done; concern noted that
   constructor-based request conveyance forces exception-based failure
   reporting, which may need an alternative error path later
   -

   Name-of operator: considered done via reflection
   -

   Signed-overflow UB catching: not done; shift functions added or
   proposed, but the specific request has not progressed further
   -

   Heap-free function list paper: not done, needs an owner to maintain it
   -

   Enum operators / functions over enums: a paper may exist (author
   unconfirmed); may be addressable through reflection
   -

   Named arguments: not part of current work
   -

   Rust-style memory model: not progressed; a circle-based model was tried
   but proved too large for volunteers; profile model preferred for the safety
   aspect; discussed at length at SG23
   -

   Compile-time file reading (JSON/XML to generate objects): raised as a
   possible new request; presenter asked for a write-up and wider consultation
   with the education group before adding
   -

   Action: SG14 members to email the presenter directly with missed
   progress, paper numbers, or new requests for the R1 revision
   -

   Action: the chair to send a dump of the Zoom chat (containing paper
   numbers and references) to the presenter before closing

Networking: Cappy and Corrosio

The author of the Cappy and Corrosio coroutine networking libraries
presented them as a coroutine-only successor to ASIO, structured as a
14-paper pipeline where each paper delivers standalone value, and SG14 was
invited to participate in the closing Boost review.


   -

   Cappy: low-level coroutine framework defining the three coroutine
   essentials — executor (how to resume), stop token (how to cancel),
   allocator (how to allocate the frame) — plus buffer sequences and
   byte-oriented read/write stream concepts; no sockets, no TLS, no protocols
   -

   Announced rename: the "IO Awaitable" concept becomes "Awaitable Sender";
   every IO awaitable also becomes a P2300 sender at no extra allocation,
   making the entire IO suite (DNS, sockets, UDP, timers, OS signals, TLS over
   WolfSSL/OpenSSL) sender-compatible at zero cost
   -

   Corrosio: adds the reactor / OS layer (completion ports on Windows,
   io_uring/epoll on Linux) with three API levels — (1) type-erased ABI-stable
   abstract stream (relink without code change), (2) concrete socket behind a
   translation-unit firewall with no templates, (3) header-only with full
   inlining on the ASIO model; users opt into the level of optimization and
   translation-unit segregation they want
   -

   TLS approach: standardize a wrapper interface (certificate loading,
   settings, stream read/write) while delegating all cryptography to
   OS/external libraries, capturing most of the benefit without security
   exposure
   -

   Higher-level libraries on Cappy: Boost.HTTP (HTTP on abstract streams,
   no sockets), Boost.WebSocket (same), Beast2 (coroutines-only Express-like
   server with route installation), Burl (B-U-R-L, a coroutine C++ curl
   replacement as library plus command-line tool)
   -

   Flagged review concern: use of thread-local storage for a more ergonomic
   API; the author noted more scrutiny from different perspectives would be
   valuable
   -

   The chair forwarded the LEWG review thread to SG14 and copied the review
   manager; reviews of any length may be emailed to the review manager, public
   or private
   -

   Positioned as a direct competitor to the sender/receiver execution
   model, which showed excessive allocation at the Croydon meeting; the
   original SG14 request was for a minimal portable socket layer, and
   Cappy/Corrosio was presented as a potential new baseline to build from
   instead
   -

   Action: SG14 members encouraged to review Cappy and Corrosio and email
   reviews to the review manager




On Wed, Jul 8, 2026 at 2:12 PM andrew drakeford via SG14 <
sg14_at_[hidden]> wrote:

> Sorry in meeting that is still running.
> ------------------------------
> *From:* SG14 <sg14-bounces_at_[hidden]> on behalf of Michael Wong
> via SG14 <sg14_at_[hidden]>
> *Sent:* Wednesday, July 8, 2026 2:58 PM
> *To:* sg14_at_[hidden] <sg14_at_[hidden]>
> *Cc:* Michael Wong <fraggamuffin_at_[hidden]>
> *Subject:* Re: [isocpp-sg14] SG14 July monthly call
>
> Congratulations on the events.
>
> OK sounds like Patrice's P2966R0 is worth it to re-review to see progress
> since we haven't looked at the Games domain in some time. I will put that
> paper on the schedule for the call this afternoon at 2 PM ET. I expectt his
> meeting will be short, around 1 hour. Thank you.
>
> On Wed, Jul 8, 2026 at 3:12 AM Standard Work via SG14 <
> sg14_at_[hidden]> wrote:
>
> My stepdaughter graduates (with a 1st!) today, so I will be unavailable.
>
> Sent from Outlook for iOS <https://aka.ms/o0ukef>
> ------------------------------
> *From:* SG14 <sg14-bounces_at_[hidden]> on behalf of Patrice Roy via
> SG14 <sg14_at_[hidden]>
> *Sent:* Tuesday, July 7, 2026 11:50 pm
> *To:* sg14_at_[hidden] <sg14_at_[hidden]>
> *Cc:* Patrice Roy <patricer_at_[hidden]>
> *Subject:* Re: [isocpp-sg14] SG14 July monthly call
>
> Hi!
>
> I don't have anything new to present for now (sadly), but if there is a
> meeting we could go over the various elements of P2966R0 to see what has
> progressed and where we stand with respect to individual aspects before I
> produce R1.
>
> That being said, it's Summer and this can wait until the August meeting if
> there's nothing else or if quorum is hard to come by.
>
> Cheers!
>
> Le mar. 7 juil. 2026 à 18:30, Michael Wong via SG14 <sg14_at_[hidden]>
> a écrit :
>
> Please suggest papers for review. This meeting is focused on Embedded.
> However it is also customary to start summer vacation so if there are no
> papers suggested, I will cancel the call for tomorrow. Cheers.
>
> *Time:* 02:00 PM Eastern Time (US and Canada)
>
> *Zoom Link:*
> https://iso.zoom.us/j/93151864365?pwd=aDhOcDNWd2NWdTJuT1loeXpKbTcydz09
>
> *Meeting ID:* 931 5186 4365
>
> *Password:* 789626
> 1. Opening and introduction
>
> *ISO Code of Conduct:*
>
>
> https://isotc.iso.org/livelink/livelink?func=ll&objId=20882226&objAction=Open&nexturl=%2Flivelink%2Flivelink%3Ffunc%3Dll%26objId%3D20158641%26objAction%3Dbrowse%26viewType%3D1
>
> *ISO patent policy:*
>
>
> https://isotc.iso.org/livelink/livelink/fetch/2000/2122/3770791/Common_Policy.htm?nodeid=6344764&vernum=-2
>
> *IEC Code of Conduct:*
>
> https://www.iec.ch/basecamp/iec-code-conduct-technical-work
>
> *WG21 Code of Conduct:*
>
>
> https://isocpp.org/std/standing-documents/sd-4-wg21-practices-and-procedures
>
> -
>
> *1.1* Roll call of participants
> -
>
> *1.2* Adopt agenda
> -
>
> *1.3* Action items from previous meetings
> -
>
> 1.4 Approve previous meeting minutes.
>
> 2. Main issues (125 min)
>
> *2.1 General logistics*
>
> -
>
> 2026 planning and Croydon review
> -
>
> Future and past meeting plans (see section 5.2)
>
> *2.2 Any proposal for reviews?*
>
> -
>
> SG14/SG19 features/issues/defects:
>
>
> https://docs.google.com/spreadsheets/d/1JnUJBO72QVURttkKr7gn0_WjP--P0vAne8JBfzbRiy0/edit#gid=0
>
> *2.3 Domain-specific discussions*
>
> *2.3.1 SIG chairs*
>
> -
>
> *Embedded Programming chairs:* Khalil Estell, John McFarlane, Paul
> Bendixen
> -
>
> *Financial/Trading Low Latency chairs:* Bryan St. Amour
> -
>
> *Games chairs:* Patrice Roy
> -
>
> *Linear Algebra chairs:* Bob Steagall, Mark Hoemmen
>
> *2.4 Other Papers and proposals*
>
> *2.5 Future F2F meetings:*
>
> *2.6 Future C++ Standard meetings:*
>
> https://isocpp.org/std/meetings-and-participation/upcoming-meetings
> 3. Any other business
>
> -
>
> *Reflector:* https://lists.isocpp.org/mailman/listinfo.cgi/sg14
> -
>
> *Code and proposal Staging area:* https://github.com/WG21-SG14/SG14
>
> 4. Review
>
> -
>
> *4.1* Review and approve resolutions and issues [e.g., changes to SG's
> working draft]
> -
>
> *4.2* Review action items (5 min)
>
> 5. Closing process
>
> -
>
> *5.1* Establish next agenda
> -
>
> *5.2* Future meeting
>
> *Future and past meeting plans:*
>
> -
>
> Jan 14, 2026 02:00 PM ET: Games DONE
> -
>
> Feb 11, 2026 02:00 PM ET: Embedded DONE
> -
>
> Mar 11, 2026 03:00 PM ET: Low Latency DONE
> -
>
> Apr 8, 2026 02:00 PM ET: Finance DONE
> -
>
> May 13, 2026 02:00 PM ET: Games DONE
> -
>
> June 10, 2026 02:00 PM ET: F2F cancelled DONE
> -
>
> July 8, 2026 02:00 PM ET: Embedded
> -
>
> Aug 12, 2026 06:00 PM ET: Low Latency Finance
> -
>
> Sep 9, 2026 02:00 PM ET: CPPCON 9/12-18
> -
>
> Oct 7, 2026 02:00 PM ET: Games
> -
>
> Nov 11, 2026 02:00 PM ET: F2F, cancelled
> -
>
> Dec 9, 2026 02:00 PM ET: Embedded
>
> _______________________________________________
> SG14 mailing list
> SG14_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/sg14
>
> _______________________________________________
> SG14 mailing list
> SG14_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/sg14
>
> _______________________________________________
> SG14 mailing list
> SG14_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/sg14
>

Received on 2026-07-27 17:58:28