<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/83880>83880</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [libc++] `ranges::ends_with` should forward to `equal`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            libc++,
            performance
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          philnik777
      </td>
    </tr>
</table>

<pre>
    `equal` forwards to `memcmp` for trivially equality comparable types, which is an order of magnitude faster than the generic loop. We should make use of that optimization in `ends_with`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxMkcGOpCAQhp8GL5UxNIriwcPMdPoV9rgptZTaQXABp9P79BtNT2YSEhKgfuqrD1PixRP1Qr8JfS1wzzbEfrPsPH-0bVsMYXr0opH0d0cnGglziHeMU4IcQDRypXVct-cF5MifjM494HzP-QFjWDeMODiC_NgoCfUOd8ujBU6AHkKcKEKYYcXFc94nghlTpgjZoodsCRbyFHkEF8JWwi-CZMPuJljxg2BPdFRnixnClnnlf5g5eGB_9Ed-Sr_vnK1oZFlMfTV1VYcF9ZdWdrqtzUUXtq-oUbLRqkOjWoNGX5qOWjQ018bMShXcK6lqWcn60uqq0mWnRtSmHdDITuNMopa0IrvSuc-1DHEpOKWdelMZIwuHA7l0Tlkpx8Mo1Nu5lFDvQqmN4hziin6k40xfi9gfQS_DviRRS8cpp-_ozNmdzn5E6euBG9EvlET1KqrXn-hfI3vae8r7klrs0fU25-2sVDehbgtnuw_lGFahbsfHz-1li-EPjVmo2wmYhLqdjP8DAAD__3aTvZw">