[PATCH] Cleanup std::erase_if for std::vector implementation

François Dumont frs.dumont@gmail.com
Wed Oct 1 20:00:13 GMT 2025


Yes, I had checked std::__remove_if but not the std::deque members.

So std::vector and std::string cleanup committed.

On 10/1/25 19:17, Jonathan Wakely wrote:
> On Wed, 1 Oct 2025 at 18:15, François Dumont <frs.dumont@gmail.com> wrote:
>> Before pushing I checked other std::erase_if and std::erase
>> implementations, so this new patch.
> The overloads for std::deque are not constexpr until C++26, and we
> haven't implemented constexpr std::deque yet.
>
> The string and vector parts of the patch are OK, thanks
>
>>       libstdc++: Avoid _GLIBCXX20_CONSTEXPR in C++ >= 20 code sections
>>
>>       libstdc++-v3/ChangeLog:
>>
>>               * include/std/vector (std::erase_if, std::erase): Replace
>> _GLIBCXX20_CONSTEXPR
>>               with 'constexpr' and remove implied 'inline' keyword.
>>               * include/std/string (std::erase_if, std::erase): Likewise.
>>               * include/std/deque (std::erase_if, std::erase): Replace
>> 'inline' with
>>               'constexpr'.
>>
>> Still ok to commit ?
>>
>> François
>>
>>
>> On 10/1/25 10:58, Jonathan Wakely wrote:
>>> On Wed, 1 Oct 2025 at 06:16, François Dumont <frs.dumont@gmail.com> wrote:
>>>> Hi
>>>>
>>>> Minor patch, just need to confirm that constexpr implies inline, no ?
>>> That's correct. This is a good cleanup.
>>>
>>>>        libstdc++: Avoid _GLIBCXX20_CONSTEXPR in C++ >= 20 code section
>>>>
>>>>        libstdc++-v3/ChangeLog:
>>>>
>>>>                * include/std/vector (std::erase_if): Replace
>>>> _GLIBCXX20_CONSTEXPR
>>>>                with 'constexpr' and remove implied 'inline' keyword.
>>>>
>>>> Ok to commit ?
>>> OK, thanks.


More information about the Libstdc++ mailing list