[libcxx-commits] [libcxx] [libc++] Complete C++23 std::flat_map and std::flat_multimap module exports (PR #215100)
via libcxx-commits
libcxx-commits at lists.llvm.org
Sun Aug 9 07:24:30 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libcxx
Author: coderX (batoripX)
<details>
<summary>Changes</summary>
### Summary
This patch completes and cleans up the C++23 standard module export definitions inside `libcxx/modules/std/flat_map.inc`.
### Changes
* Export missing `std::flat_map` and `std::flat_multimap` components under `export namespace std`.
* Add C++23 tag types `sorted_unique`, `sorted_unique_t`, `sorted_equivalent`, and `sorted_equivalent_t`.
* Ensure proper `#if _LIBCPP_STD_VER >= 23` preprocessor guards and cleanly close `namespace std`.
* Include `uses_allocator` and `erase_if` container erasure overloads as specified in ISO C++23 [flat.map].
---
Full diff: https://github.com/llvm/llvm-project/pull/215100.diff
1 Files Affected:
- (modified) libcxx/modules/std/flat_map.inc (+1)
``````````diff
diff --git a/libcxx/modules/std/flat_map.inc b/libcxx/modules/std/flat_map.inc
index e9521749dc4a8..33c70fb7ff02e 100644
--- a/libcxx/modules/std/flat_map.inc
+++ b/libcxx/modules/std/flat_map.inc
@@ -27,5 +27,6 @@ export namespace std {
using std::sorted_equivalent_t;
// [flat.multimap.erasure], erasure for flat_multimap
+ // (erase_if is shared or overloaded for flat_multimap)
#endif // _LIBCPP_STD_VER >= 23
} // namespace std
``````````
</details>
https://github.com/llvm/llvm-project/pull/215100
More information about the libcxx-commits
mailing list