operator==, operator<=>(std::basic_stacktrace)
来自cppreference.com
< cpp | utility | basic stacktrace
template< class Allocator2 > friend bool operator==( const basic_stacktrace& lhs, |
(1) | (C++23 起) |
template< class Allocator2 > friend std::strong_ordering |
(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)
if (auto cmp = lhs.size() <=> rhs.size(); cmp != 0)
return cmp;
else
return std::lexicographical_compare_three_way(lhs.begin(), lhs.end(),
这些函数模板对通常无限定或有限定查找不可见,而只能在 std::basic_stacktrace<Allocator>
为参数的关联类时由实参依赖查找找到。
<
、 <=
、 >
、 >=
及 !=
运算符分别从 operator<=>
与 operator==
合成。
参数
lhs, rhs | - | 要比较内容的 basic_stacktrace
|
返回值
1) 若
lhs
与 rhs
的内容相等则为 true ,否则为 false 。2) lhs.size() <=> rhs.size() ,若结果不是 std::strong_order::equal ,否则为
lhs
与 rhs
的元素的字典序。复杂度
1-2) 若
lhs
与 rhs
大小不同则为常数,否则与 lhs
的大小成线性。示例
本节未完成 原因:暂无示例 |