<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/135351>135351</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[libc++] P2165R4: Update deduction guides for map containers and container adaptors
</td>
</tr>
<tr>
<th>Labels</th>
<td>
libc++,
c++23
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
frederick-vs-ja
</td>
</tr>
</table>
<pre>
**Link:** https://wg21.link/P2165R4
The following alias templates needs to be defined differently since C++23.
https://github.com/llvm/llvm-project/blob/b46f16c8d7f4a9e37271cdc4717dd858a4c813dc/libcxx/include/__iterator/iterator_traits.h#L469-L479
After changing this alias templates, it should be tested that class template argument deduction (for `map`, `multimap`, `unordered_map`, `unordered_multimap`, `flat_map`, and `flat_multimap`) actually works with tuple-like types.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUU0FvozoY_DXmYgXhzwaSAwfailMPT0_vnSNjf4AbByP7o2n-_Yq03bS72sOezIyGQeMZdEpunBEbVj6w8inTK00hNkNEi9GZ0-417V501gd7bRi0DNpnN5-YbN8Bn4iWdIMdg-4ygsj9JoDuHxBV-a9iRcuK9r8J-RC8Dxc3j1x7pxMnPC9eEyY-I9rEKfAeucXBzWi5dcOAEWfyV57cbJA_Mnhg8AAyZ0X7_bujo2ntcxPODDrvXz-P3RLDCxpi0PU-9NuhqkFUZm_rQekDyhpqYaxRtait3Zd7rcxeSGs2A9ebtzcGnZuNXy0y6I5HRxg1hbjRH49HitpRyicG8llVh92zqg_vsduBMHIz6XncctPk0q_hGTxyRzxNYfV2uwDCRGg5TZq48TrdtVzHcT3jTNyiXQ25MHMG-yFEzqrirBdWFZvdBlZP7huzziFajGiPf6J_e2Xwmr6o9Wzv7FfxgWtDq_b-yi8hnhK_OJo4rYvHnXcn5HRdMOWZbaQ9yIPOsBG1UrIGJVQ2NYd9gUYMopJiqEoEGIwUSgtRyt5aVWeugQLKQgmxcVLlgBKE0L2poBaF7Zkq8Kydz7fS8xDHzKW0YiNkKUuRed2jT7eJA2y1vi-JATB4ZADmc1kbUz5lsbmNp1_HxFThXaJ0dyZH_va7fDEqn_jn3GXL_1_s1ta9pHF1FhPfijrrhZswk3YzxnS705-Qa6sXCjFla_TNXy_8Fjkx6D5SvzbwIwAA___o9zug">