[all-commits] [llvm/llvm-project] be0009: [libc++] Remove a bunch of now unnecessary indirec...

Nikolas Klauser via All-commits all-commits at lists.llvm.org
Mon Jun 23 01:48:08 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: be000986322ebb796ec7127629a865897dede966
      https://github.com/llvm/llvm-project/commit/be000986322ebb796ec7127629a865897dede966
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-06-23 (Mon, 23 Jun 2025)

  Changed paths:
    M libcxx/include/__tree
    M libcxx/include/map
    R libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp

  Log Message:
  -----------
  [libc++] Remove a bunch of now unnecessary indirections in __tree (#142397)

Most notably, this removes the notion of a distinct `value_type` and
`__container_value_type` from `__tree`, since these are now always the
same type. There are a few places we need to keep `__value_type` around,
since they are ABI visibile. In these cases `_Tp` is used directly. The
second simplification here is that we use `const value_type&` instead of
`const key_type&` in a few places and make use of the fact that the
comparator is capable of comparing any combination of `key_type` and
`value_type`.

This is a follow-up to #134819.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list