函数模板
<forward_list>

std::关系运算符 (forward_list)

(1)
template <class T, class Alloc>  bool operator== (const forward_list<T,Alloc>& lhs, const forward_list<T,Alloc>& rhs);
(2)
template <class T, class Alloc>  bool operator!= (const forward_list<T,Alloc>& lhs, const forward_list<T,Alloc>& rhs);
(3)
template <class T, class Alloc>  bool operator<  (const forward_list<T,Alloc>& lhs, const forward_list<T,Alloc>& rhs);
(4)
template <class T, class Alloc>  bool operator<= (const forward_list<T,Alloc>& lhs, const forward_list<T,Alloc>& rhs);
(5)
template <class T, class Alloc>  bool operator>  (const forward_list<T,Alloc>& lhs, const forward_list<T,Alloc>& rhs);
(6)
template <class T, class Alloc>  bool operator>= (const forward_list<T,Alloc>& lhs, const forward_list<T,Alloc>& rhs);
forward_list 的关系运算符
lhsrhs 这两个 forward_list 容器执行适当的比较操作。

相等比较 (operator==) 通过顺序比较元素(使用 operator==)来执行,在第一个不匹配处停止(如同使用算法 equal)。

小于比较 (operator<) 的行为如同使用算法 lexicographical_compare,该算法通过顺序比较元素(使用 operator<)以相对的方式进行(即,同时检查 a<bb<a),并在第一次出现时停止。

其他操作也使用 ==< 运算符在内部比较元素,其行为如同执行了以下等效操作:
操作等效操作
a!=b!(a==b)
a>bb<a
a<=b!(b<a)
a>=b!(a<b)

这些运算符在头文件 <forward_list> 中进行了重载。

参数

lhs, rhs
forward_list 容器(分别位于运算符的左侧和右侧),它们具有相同的模板参数(TAlloc).

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// forward_list comparisons
#include <iostream>
#include <forward_list>

int main ()
{
  std::forward_list<int> a = {10, 20, 30};
  std::forward_list<int> b = {10, 20, 30};
  std::forward_list<int> c = {30, 20, 10};

  if (a==b) std::cout << "a and b are equal\n";
  if (b!=c) std::cout << "b and c are not equal\n";
  if (b<c) std::cout << "b is less than c\n";
  if (c>b) std::cout << "c is greater than b\n";
  if (a<=b) std::cout << "a is less than or equal to b\n";
  if (a>=b) std::cout << "a is greater than or equal to b\n";

  return 0;
}

输出
a and b are equal
b and c are not equal
b is less than c
c is greater than b
a is less than or equal to b
a is greater than or equal to b


返回值

如果条件成立,则为 true,并且否则为 false。

复杂度

最多与 lhsrhs 的大小成线性关系。

迭代器有效性

没有变化。

数据竞争

lhsrhs 这两个容器都会被访问。
最多可以访问它们包含的所有元素。

异常安全

如果元素的类型支持适当的操作且无异常保证,则该函数永远不会抛出异常(无异常保证)。
在任何情况下,该函数都不能修改其参数。

另见