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) (depuis C++23)
template < class Allocator2 >

friend std:: strong_ordering
operator <=> ( const basic_stacktrace & lhs,

const basic_stacktrace < Allocator2 > & rhs ) noexcept ;
(2) (depuis C++23)
1) Vérifie si le contenu de lhs et rhs sont égaux, c'est-à-dire qu'ils ont le même nombre d'éléments et que chaque élément dans lhs est égal à l'élément correspondant dans rhs à la même position.
Équivalent à return std:: equal ( lhs. begin ( ) , lhs. end ( ) , rhs. begin ( ) , rhs. end ( ) ) ; .
2) Retourne l'ordre relatif du nombre d'entrées de la pile d'appels dans lhs et rhs s'ils ne sont pas égaux. Sinon (si le nombre d'éléments de lhs et rhs sont égaux), retourne l'ordre lexicographique des éléments de lhs et rhs .
Équivalent à
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 ( ) ) ;
.

Ces modèles de fonction ne sont pas visibles par la recherche non qualifiée ou qualifiée ordinaire, et ne peuvent être trouvés que par la recherche dépendante des arguments lorsque std::basic_stacktrace<Allocator> est une classe associée des arguments.

Les opérateurs < , <= , > , >= et != sont synthétisés respectivement à partir de operator <=> et operator == .

Table des matières

Paramètres

lhs, rhs - basic_stacktrace s dont le contenu doit être comparé

Valeur de retour

1) true si le contenu de lhs et rhs sont égaux, false sinon.
2) lhs. size ( ) <=> rhs. size ( ) si le résultat n'est pas std::strong_order::equal , l'ordre lexicographique des éléments de lhs et rhs sinon.

Complexité

1,2) Constant si lhs et rhs sont de tailles différentes, linéaire par rapport à la taille de lhs sinon.

Exemple