=========================================== Libc++ 22.0.0 (In-Progress) Release Notes =========================================== .. contents:: :local: :depth: 2 Written by the `Libc++ Team `_ .. warning:: These are in-progress notes for the upcoming libc++ 22.0.0 release. Release notes for previous releases can be found on `the Download Page `_. Introduction ============ This document contains the release notes for the libc++ C++ Standard Library, part of the LLVM Compiler Infrastructure, release 22.0.0. Here we describe the status of libc++ in some detail, including major improvements from the previous release and new feature work. For the general LLVM release notes, see `the LLVM documentation `_. All LLVM releases may be downloaded from the `LLVM releases web site `_. For more information about libc++, please see the `Libc++ Web Site `_ or the `LLVM Web Site `_. Note that if you are reading this file from a Git checkout or the main Libc++ web page, this document applies to the *next* release, not the current one. To see the release notes for a specific release, please see the `releases page `_. What's New in Libc++ 22.0.0? ============================== Implemented Papers ------------------ - P2321R2: ``zip`` (`Github `__) (The paper is partially implemented. ``zip_transform_view`` is implemented in this release) - P3168R2: Give ``std::optional`` Range Support (`Github `__) Improvements and New Features ----------------------------- - The performance of ``map::map(const map&)`` has been improved up to 2.3x - The performance of ``map::operator=(const map&)`` has been improved by up to 11x - The performance of ``unordered_set::unordered_set(const unordered_set&)`` has been improved by up to 3.3x. - The performance of ``unordered_set::operator=(const unordered_set&)`` has been improved by up to 5x. - The performance of ``map::erase`` and ``set::erase`` has been improved by up to 2x - The performance of ``find(key)`` in ``map``, ``set``, ``multimap`` and ``multiset`` has been improved by up to 2.3x Deprecations and Removals ------------------------- Potentially breaking changes ---------------------------- Announcements About Future Releases ----------------------------------- ABI Affecting Changes --------------------- Build System Changes --------------------