Namespaces
Variants

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

From cppreference.net
Regular expressions library
Classes
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
Определено в заголовке <regex>
template < class BidirIt, class Alloc >

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

match_results < BidirIt,Alloc > & rhs ) ;
(1) (начиная с C++11)
template < class BidirIt, class Alloc >

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

match_results < BidirIt,Alloc > & rhs ) ;
(2) (начиная с C++11)
(до C++20)

Сравнивает два match_results объекта.

Два match_results равны, если выполняются следующие условия:

  • ни один из объектов не является готовым , или
  • оба результата сравнения являются готовыми и выполняются следующие условия:
  • lhs. empty ( ) и rhs. empty ( ) , или
  • ! lhs. empty ( ) и ! rhs. empty ( ) и выполняются следующие условия:
  • lhs. prefix ( ) == rhs. prefix ( )
  • lhs. size ( ) == rhs. size ( ) && std:: equal ( lhs. begin ( ) , lhs. end ( ) , rhs. begin ( ) )
  • lhs. suffix ( ) == rhs. suffix ( )
1) Проверяет, равны ли lhs и rhs .
2) Проверяет, что lhs и rhs не равны.

Оператор != синтезируется из operator== .

(since C++20)

Содержание

Параметры

lhs, rhs - сравниваемые результаты поиска
Требования к типам
-
BidirIt должен удовлетворять требованиям LegacyBidirectionalIterator .
-
Alloc должен удовлетворять требованиям Allocator .

Возвращаемое значение

1) true если lhs и rhs равны, false в противном случае.
2) true если lhs и rhs не равны, false в противном случае.

Исключения

Может генерировать исключения, определяемые реализацией.

Пример