Spec-Zone.ru › C++

operator==, operator<=>(std::basic_stacktrace)

template< class Allocator2 >
friend bool operator==( const basic_stacktrace& lhs,
                        const basic_stacktrace<Allocator2>& rhs ) noexcept;
(1) (начиная с C++23)
template< class Allocator2 >
friend std::strong_ordering
    operator<=>( const basic_stacktrace& lhs,
                 const basic_stacktrace<Allocator2>& rhs ) noexcept;
(2) (начиная с C++23)
1) Проверяет, равны ли содержимое lhs и rhs, то есть имеют ли они одинаковое количество элементов и равен ли каждый элемент в lhs соответствующему элементу в rhs.
Эквивалентно return std::equal(lhs.begin(), lhs.end(), rhs.begin(), rhs.end());.
2) Возвращает относительный порядок количества записей трассировки стека в lhs и rhs, если они различаются. Иначе (если количество элементов в lhs и rhs одинаково) возвращает лексикографический порядок элементов lhs и rhs.
Эквивалентно
if (auto cmp = lhs.size() <=> rhs.size(); cmp != 0) return cmp; else return std::lexicographical_compare_three_way(lhs.begin(), lhs.end(), rhs.begin(), rhs.end());.

Эти шаблоны функций не видны при обычном неквалифицированном поиске или квалифицированном поиске и могут быть найдены только с помощью поиска, зависящего от аргументов, если std::basic_stacktrace<Allocator> является ассоциированным классом аргументов.

Операторы <, <=, >, >= и != синтезируются соответственно из operator<=> и operator==.

Параметры

lhs, rhs - basic_stacktraceы, содержимое которых сравнивается

Возвращаемое значение

1) true, если содержимое lhs и rhs равно, и false в противном случае.
2) lhs.size() <=> rhs.size(), если результат не равен std::strong_order::equal; в противном случае — лексикографический порядок элементов lhs и rhs.

Сложность

1,2) Постоянная, если lhs и rhs имеют разный размер; в противном случае линейная относительно размера lhs.

Пример

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/utility/basic_stacktrace/operator_cmp

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API