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/w/cpp/regex/match_results/operator_cmp

Spec-Zone.ru

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