Namensräume
Varianten
Aktionen

operator==,!=(std::match_results)

Von cppreference.com
< cpp‎ | regex‎ | match results
 
 
 
Bibliothek für reguläre Ausdrücke
Klassen
(C++11)
Algorithmen
Iteratoren
Ausnahmen
Traits
Konstanten
(C++11)
Reguläre Ausdrucksgrammatiken
 
 
Definiert in Header <regex>
template< class BidirIt, class Alloc >

bool operator==( match_results<BidirIt,Alloc>& lhs,

                 match_results<BidirIt,Alloc>& rhs );
(1) (seit C++11)
template< class BidirIt, class Alloc >

bool operator!=( match_results<BidirIt,Alloc>& lhs,

                 match_results<BidirIt,Alloc>& rhs );
(2) (seit C++11)
(bis C++20)

Vergleicht zwei match_results Objekte.

Zwei match_results Objekte sind gleich, wenn die folgenden Bedingungen erfüllt sind:

  • keines der Objekte ist ready, oder
  • beide Match-Ergebnisse sind ready und die folgenden Bedingungen sind erfüllt:
  • lhs.empty() und rhs.empty(), oder
  • !lhs.empty() und !rhs.empty() und die folgenden Bedingungen sind erfüllt:
  • lhs.prefix() == rhs.prefix()
  • lhs.size() == rhs.size() && std::equal(lhs.begin(), lhs.end(), rhs.begin())
  • lhs.suffix() == rhs.suffix()
1) Prüft, ob lhs und rhs gleich sind.
2) Prüft, ob lhs und rhs nicht gleich sind.

Der Operator != wird aus operator== synthetisiert.

(seit C++20)

Inhalt

[bearbeiten] Parameter

lhs, rhs - Zu vergleichende Match-Ergebnisse.
Typanforderungen
-
BidirIt muss die Anforderungen von LegacyBidirectionalIterator erfüllen.
-
Alloc muss die Anforderungen von Allocator erfüllen.

[bearbeiten] Rückgabewert

1) true, wenn lhs und rhs gleich sind, sonst false.
2) true, wenn lhs und rhs nicht gleich sind, sonst false.

[edit] Exceptions

Kann implementierungsdefinierte Ausnahmen auslösen.

[bearbeiten] Beispiel