<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">