---
title: The SG14 Priority List for C++29/32
audience: "SG14 Author: Michael Wong"
reply-to:
  - "<fraggamuffin@gmail.com>"
  - "Contributor: SG14"
document: p4029r0
date: 2026-02-23
paper-type: proposal
---

Audience: SG14 Author: Michael Wong Reply to: [fraggamuffin@gmail.com](mailto:fraggamuffin@gmail.com) Contributor: SG14

# The SG14 Priority List for C++29/32

**Abstract:** This document outlines the strategic priorities for SG14 (Low Latency, Games, Finance, and Embedded) for the C++29 and C++32 cycles. While SG14 shares the broader committee's goals regarding safety and asynchronous execution, this constituency operates under strict constraints: zero-overhead abstractions, predictable latency, and deterministic execution. This paper defines how those constraints must shape upcoming standard features.

In low-latency finance, different threads (e.g., market data ingestion vs. order execution) must communicate without OS-level locks or blocking.

:::wording-add

● Ring Buffer (<ins>ring_span</ins>) (P0059): Tracked specifically for "Games, Finance, Embedded". A ring buffer (circular buffer) is the backbone of HFT message passing because it operates on a fixed-capacity contiguous memory block, meaning it never allocates memory dynamically after initialization.

:::

* **Concurrent Queues (P0260):** Standardizing lock-free and concurrent queues is critical
for fast thread-to-thread communication without rolling custom, error-prone atomics.

* **Hazard Pointers & RCU:** Slated for C++26 with extensions for C++29, these are
essential mechanisms for safely reclaiming memory in lock-free data structures (like
order books) without blocking reader threads.

#### 2. Cache Locality & Memory Layout

Predictable memory access is often more important than algorithmic complexity in low latency.

* **Member Layout Control (P1112 / P1847):** Tracked for "Games, Finance, Embedded".
This feature aims to give developers standard control over struct layout (e.g.,
automatically packing data or converting Arrays-of-Structs to Structs-of-Arrays) to
maximize CPU cache line utilization.

memory rather than calling expensive move constructors, massively speeding up vector reallocations.

**5. Any features on our ongoing watch list:**

https://docs.google.com/spreadsheets/d/1JnUJBO72QVURttkKr7gn0_WjP--P0vAne8JBfzbRiy0/ edit?gid=0#gid=0
