operator==,!=,<,<=,>,>=,<=>(std::stack)
template< class T, class Container >
bool operator==( const std::stack<T, Container>& lhs,
const std::stack<T, Container>& rhs );
| (1) | |
template< class T, class Container >
bool operator!=( const std::stack<T, Container>& lhs,
const std::stack<T, Container>& rhs );
| (2) | |
template< class T, class Container >
bool operator< ( const std::stack<T, Container>& lhs,
const std::stack<T, Container>& rhs );
| (3) | |
template< class T, class Container >
bool operator<=( const std::stack<T, Container>& lhs,
const std::stack<T, Container>& rhs );
| (4) | |
template< class T, class Container >
bool operator> ( const std::stack<T, Container>& lhs,
const std::stack<T, Container>& rhs );
| (5) | |
template< class T, class Container >
bool operator>=( const std::stack<T, Container>& lhs,
const std::stack<T, Container>& rhs );
| (6) | |
template< class T, std::three_way_comparable Container >
std::compare_three_way_result_t<Container>
operator<=>( const std::stack<T, Container>& lhs,
const std::stack<T, Container>& rhs );
| (7) | (начиная с C++20) |
Сравнивает содержимое нижележащих контейнеров двух адаптеров контейнеров. Сравнение выполняется путём применения соответствующего оператора к нижележащим контейнерам.
Параметры
| lhs, rhs | - | адаптеры контейнеров, содержимое которых нужно сравнить |
-T должен удовлетворять требованиям EqualityComparable. |
||
Возвращаемое значение
1-6)
true, если соответствующее сравнение даёт результат true, и false в противном случае.
7) Результат трёхстороннего сравнения нижележащих контейнеров.
Сложность
Линейная относительно размера контейнера.
Пример
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были ретроактивно применены к ранее опубликованным стандартам C++.
| Отчёт об ошибке | Применён к | Опубликованное поведение | Корректное поведение |
|---|---|---|---|
| LWG 410 | C++98 | семантика всех операторов сравнения отсутствовала | добавлена |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/stack/operator_cmp