Namespaces
Variants

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

From cppreference.net
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 ( ) ) ;
.

これらの関数テンプレートは通常の unqualified lookup または qualified lookup では可視化されず、引数に関連付けられたクラスとしてstd::basic_stacktrace<Allocator>が存在する場合にのみ argument-dependent lookup によって発見されます。

< <= > >= 、および != 演算子は、 それぞれ operator <=> および operator == から合成されます。

目次

パラメータ

lhs, rhs - basic_stacktrace 比較対象の内容を持つスタックトレース

戻り値

1) true lhs rhs の内容が等しい場合は true 、それ以外の場合は false を返す。
2) lhs. size ( ) <=> rhs. size ( ) 結果が std::strong_order::equal でない場合、それ以外の場合は lhs rhs の要素の辞書順。

計算量

1,2) サイズが異なる場合は定数時間、 lhs rhs のサイズが同じ場合は lhs のサイズに対して線形時間。