1. ranges-status:

libc++ Ranges Status

Overview

This document contains the status of the Ranges library in libc++. It is used to track both the status of the sub-projects of the ranges library and who is assigned to these sub-projects. This is imperative to effective implementation so that work is not duplicated and implementors are not blocked by each other.

If you are interested in contributing to the libc++ Ranges library, please send a message to the #libcxx channel in the LLVM discord. Please do not start working on any of the assigned items below.

Major features

Standard Name Assignee CL Status
C++23 ranges::to Unassigned No patch yet Not started
C++23 Pipe support for user-defined range adaptors Unassigned No patch yet Not started
C++23 Formatting Ranges Mark de Wever Various Complete

Views

Standard View Assignee CL Status
C++20 empty Zoe Carver D103208
C++20 single Zoe Carver D106840
C++20 iota (view) Zoe Carver D107396
C++20 all Zoe Carver D102028
C++20 ref_view Zoe Carver D102020
C++20 owning_view Arthur O’Dwyer D116894
C++20 filter Louis Dionne D109086
C++20 transform Zoe Carver D103056
C++20 take Zoe Carver D106507
C++20 take_while Hui Xie D134952
C++20 drop Zoe Carver D102037
C++20 drop_while Hui Xie D135460
C++20 join Zoe Carver D107671
C++20 split Hui Xie D142063
C++20 lazy_split Zoe Carver and Konstantin Varlamov D107500
C++20 counted Zoe Carver D106923
C++20 common Zoe Carver D105753
C++20 reverse Zoe Carver D107096
C++20 elements / keys / values Hui Xie D136268
C++20 istream Hui Xie D133317
         
         
         
C++23 repeat Unassigned No patch yet Not started
C++23 cartesian_product Unassigned No patch yet Not started
C++23 zip Hui Xie D122806
C++23 zip_transform Hui Xie No patch yet Not started
C++23 adjacent Hui Xie No patch yet Not started
C++23 adjacent_transform Hui Xie No patch yet Not started
C++23 join_with Unassigned No patch yet Not started
C++23 slide Unassigned No patch yet Not started
C++23 chunk Unassigned No patch yet Not started
C++23 chunk_by Unassigned No patch yet Not started
C++23 as_const Unassigned No patch yet Not started
C++23 as_rvalue Nikolas Klauser D137637
C++23 stride Unassigned No patch yet Not started

Algorithms

Standard Algorithm Assignee CL Status
C++20 all C++20 algorithms N/A N/A
C++23 find_last Unassigned No patch yet Not started
C++23 find_last_if Unassigned No patch yet Not started
C++23 find_last_if_not Unassigned No patch yet Not started
C++23 starts_with Unassigned No patch yet Not started
C++23 ends_with Unassigned No patch yet Not started
C++23 shift_left Unassigned No patch yet Not started
C++23 shift_right Unassigned No patch yet Not started
C++23 iota (algorithm) Unassigned No patch yet Not started
C++23 fold Unassigned No patch yet Not started
C++23 contains Unassigned No patch yet Not started