<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/111655>111655</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[libc++][memory] Implement specializations for *`out_ptr` - a scalable output pointer abstraction*
</td>
</tr>
<tr>
<th>Labels</th>
<td>
libc++
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Zingam
</td>
</tr>
</table>
<pre>
https://github.com/llvm/llvm-project/pull/73618 implemented [P1132R8: out_ptr - a scalable output pointer abstraction](https://wg21.link/P1132R8) as close as possible to [the wording in the Standard](https://eel.is/c++draft/smartptr.adapt). During the review of https://github.com/llvm/llvm-project/pull/73618 it was [requested to provide specializations](https://github.com/llvm/llvm-project/pull/73618#discussion_r1426896954) of `std::out_ptr.
This issue is to track the implementation of any improvements that can be provided by implementing specializations (`std::shared_ptr`, `std::unique_ptr`) of `std::out_ptr_t` and `std::inout_ptr_t`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyklE-PozgQxT9NcSk1MgUm5MAh2SjS3la7e9pLy2ATvG1s2jaJMp9-ZCbpPzM90rTmkoAtv3rvVy5ECPpklWqB74EfMrHE0fn2P21PYso6J6_tGOMcoNwBHYGOJx3Hpct7NwEdjTnf_x5m7_5XfQQ6zosxQMdNWRcN6mk2alI2KonA938VRUl_N1Du0C3xcY4eH1Bg6IURnVFpcV4izk7bqDyKLkQv-qidBX4Aat6buZyoyI22T0DHuzJtUQTsjQsqPcwuBJ2Uo0v146jw4rzU9oTaYnr9JworhZcfFVDK5DoAHXugPdBeejGkiGESPs7R50KKOQJtczwsPokmRa_OWl3QDfib7CJeREi2vXpeVEgMo8PZu7OWCsOsei2M_iISn_CR_09WBCqlDv0Sgnb20RcV1c223vIqUXUDQs1ClEm93N3alwM7ANt9-_131AF1CItCHZLV1LynlcnLPVjNJjFhr2nVu_O6HjCOImIvLHbqnlFid309mvh-FxqBmreuwii8kskY1Azoj3eWF6ufF_Wy-bNIjxFqhsLKd5vavt3OM9mWcltuRabaYkNNVTcF22RjS50auo4PatgMA-cl1c2GmkH0TEg28E2mW2JUFYxtC8aKqsqLvi87GqTgJVMdl1AxNQlt8tSp3PlTtiJti6KoOc-M6JQJ68ASGd3driYQpQH27drfbjkFqJjRIYZXnaijWUf9zTF-AL6f1OT8FfgB_7zD_oH04DwC7aBmNxCJ0q8OL-2yxZvPf0vW5GkAb-HPLX0NAAD__9cqhxY">