On Thu, May 29, 2025 at 7:14 PM Patrick Palka <ppa...@redhat.com> wrote:

> Tested on x86_64-pc-linux-gnu, does this look OK for trunk/15?
>
> -- >8 --
>
> ... for consistency with the other standard container adaptors
> (stack, queue, etc).
>
> libstdc++-v3/ChangeLog:
>
>         * include/std/flat_set (_Flat_set_impl::operator==):
>         Define in terms of ==, not std::equal.
> ---
>
LGTM. I think this at the end is the best choice, as containers may have
more information than iterators,
to perform comparison quicker.

>  libstdc++-v3/include/std/flat_set | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libstdc++-v3/include/std/flat_set
> b/libstdc++-v3/include/std/flat_set
> index c48340d79809..3da8882d154e 100644
> --- a/libstdc++-v3/include/std/flat_set
> +++ b/libstdc++-v3/include/std/flat_set
> @@ -728,7 +728,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>        [[nodiscard]]
>        friend bool
>        operator==(const _Derived& __x, const _Derived& __y)
> -      { return std::equal(__x.begin(), __x.end(), __y.begin(),
> __y.end()); }
> +      { return __x._M_cont == __y._M_cont; }
>
>        template<typename _Up = value_type>
>         [[nodiscard]]
> --
> 2.50.0.rc0
>
>

Reply via email to