Authors: Marco Foco (@mfoco), Darius Neațu (@neatudarius), Barry Revzin (@brevzin), David Sankel (@camio)
Audience: Library Evolution
Description: The standard library lacks facilities for optional types when doing range operations. While other solutions proposed creating a new type, this paper explores the design alternative where std::optional
is made into a range.
Note: This repo/paper is work for WG21: C++ Standards Committee Papers.
- P3168R0:
- https://wg21.link/P3168R0, 2024-02-28
- source: P3168R0.md
- status: reviewed in Tokyo 2024; forwarded to LEWG April Electronic Polls.
- P3168R1:
- https://wg21.link/P3168R1, 2024-04-08
- source: P3168R1.md
- status: passed LEWG April Electronic Polls and forwarded to LWG for Saint Louis 2024.
- P3168R2:
- https://wg21.link/P3168R2, 2024-06-25
- source: P3168R2.md
- implementation: beman.optional (former
Beman.Optional26
). - status: reviewed and approved by LWG in Saint Louis 2024, forwarded to LWG Straw Polls. Passed plenary in Saint Louis 2024.
Final status: Accepted into the C++26 Working Draft!!!