Spec-Zone.ru › C++

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

Определён в заголовочном файле <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==.

(начиная с C++20)

Параметры

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

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

1) true, если lhs и rhs равны, иначе false.
2) true, если lhs и rhs не равны, иначе false.

Исключения

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

Пример

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/regex/match_results/operator_cmp

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API