Skip to content

Commit

Permalink
EDG doesn't have iter_value_t yet
Browse files Browse the repository at this point in the history
  • Loading branch information
cbezault committed Aug 7, 2020
1 parent df0cbc3 commit 4065715
Showing 1 changed file with 39 additions and 39 deletions.
78 changes: 39 additions & 39 deletions stl/inc/regex
Original file line number Diff line number Diff line change
Expand Up @@ -793,70 +793,70 @@ _NODISCARD bool operator==(const sub_match<_BidIt>& _Left, const _Iter_value_t<_

#if _HAS_CXX20
template <class _BidIt>
_NODISCARD auto operator<=>(const sub_match<_BidIt>& _Left, const iter_value_t<_BidIt>* _Right) {
_NODISCARD auto operator<=>(const sub_match<_BidIt>& _Left, const _Iter_value_t<_BidIt>* _Right) {
return static_cast<typename sub_match<_BidIt>::_Comparison_category>(_Left.compare(_Right) <=> 0);
}

#if 1 // TRANSITION, VSO-900973
// Overload resolution prefers implicit conversions over re-writes.
// In C++20 mode the only required comparison operators should be == and <=>.
template <class _BidIt>
_NODISCARD auto operator<=>(const iter_value_t<_BidIt>* _Left, const sub_match<_BidIt>& _Right) {
_NODISCARD auto operator<=>(const _Iter_value_t<_BidIt>* _Left, const sub_match<_BidIt>& _Right) {
return static_cast<typename sub_match<_BidIt>::_Comparison_category>(0 <=> (_Right <=> _Left));
}

template <class _BidIt>
_NODISCARD bool operator==(const iter_value_t<_BidIt>* _Left, const sub_match<_BidIt>& _Right) {
_NODISCARD bool operator==(const _Iter_value_t<_BidIt>* _Left, const sub_match<_BidIt>& _Right) {
return _Right._Match_equal(_Left);
}

template <class _BidIt>
_NODISCARD bool operator!=(const iter_value_t<_BidIt>* _Left, const sub_match<_BidIt>& _Right) {
_NODISCARD bool operator!=(const _Iter_value_t<_BidIt>* _Left, const sub_match<_BidIt>& _Right) {
return !(_Left == _Right);
}

template <class _BidIt>
_NODISCARD bool operator<(const iter_value_t<_BidIt>* _Left, const sub_match<_BidIt>& _Right) {
_NODISCARD bool operator<(const _Iter_value_t<_BidIt>* _Left, const sub_match<_BidIt>& _Right) {
return (_Left <=> _Right) < 0;
}

template <class _BidIt>
_NODISCARD bool operator>(const iter_value_t<_BidIt>* _Left, const sub_match<_BidIt>& _Right) {
_NODISCARD bool operator>(const _Iter_value_t<_BidIt>* _Left, const sub_match<_BidIt>& _Right) {
return (_Left <=> _Right) > 0;
}

template <class _BidIt>
_NODISCARD bool operator<=(const iter_value_t<_BidIt>* _Left, const sub_match<_BidIt>& _Right) {
_NODISCARD bool operator<=(const _Iter_value_t<_BidIt>* _Left, const sub_match<_BidIt>& _Right) {
return (_Left <=> _Right) <= 0;
}

template <class _BidIt>
_NODISCARD bool operator>=(const iter_value_t<_BidIt>* _Left, const sub_match<_BidIt>& _Right) {
_NODISCARD bool operator>=(const _Iter_value_t<_BidIt>* _Left, const sub_match<_BidIt>& _Right) {
return (_Left <=> _Right) >= 0;
}

template <class _BidIt>
_NODISCARD bool operator!=(const sub_match<_BidIt>& _Left, const iter_value_t<_BidIt>* _Right) {
_NODISCARD bool operator!=(const sub_match<_BidIt>& _Left, const _Iter_value_t<_BidIt>* _Right) {
return !(_Left == _Right);
}

template <class _BidIt>
_NODISCARD bool operator<(const sub_match<_BidIt>& _Left, const iter_value_t<_BidIt>* _Right) {
_NODISCARD bool operator<(const sub_match<_BidIt>& _Left, const _Iter_value_t<_BidIt>* _Right) {
return (_Left <=> _Right) < 0;
}

template <class _BidIt>
_NODISCARD bool operator>(const sub_match<_BidIt>& _Left, const iter_value_t<_BidIt>* _Right) {
_NODISCARD bool operator>(const sub_match<_BidIt>& _Left, const _Iter_value_t<_BidIt>* _Right) {
return (_Left <=> _Right) > 0;
}

template <class _BidIt>
_NODISCARD bool operator<=(const sub_match<_BidIt>& _Left, const iter_value_t<_BidIt>* _Right) {
_NODISCARD bool operator<=(const sub_match<_BidIt>& _Left, const _Iter_value_t<_BidIt>* _Right) {
return (_Left <=> _Right) <= 0;
}

template <class _BidIt>
_NODISCARD bool operator>=(const sub_match<_BidIt>& _Left, const iter_value_t<_BidIt>* _Right) {
_NODISCARD bool operator>=(const sub_match<_BidIt>& _Left, const _Iter_value_t<_BidIt>* _Right) {
return (_Left <=> _Right) >= 0;
}
#endif // TRANSTITION, VSO-900973
Expand Down Expand Up @@ -925,7 +925,7 @@ _NODISCARD bool operator==(const sub_match<_BidIt>& _Left, const _Iter_value_t<_

#if _HAS_CXX20
template <class _BidIt>
_NODISCARD auto operator<=>(const sub_match<_BidIt>& _Left, const iter_value_t<_BidIt>& _Right) {
_NODISCARD auto operator<=>(const sub_match<_BidIt>& _Left, const _Iter_value_t<_BidIt>& _Right) {
return static_cast<typename sub_match<_BidIt>::_Comparison_category>(
_Left._Compare(_STD addressof(_Right), 1) <=> 0);
}
Expand All @@ -934,62 +934,62 @@ _NODISCARD auto operator<=>(const sub_match<_BidIt>& _Left, const iter_value_t<_
// Overload resolution prefers implicit conversions over re-writes.
// In C++20 mode the only required comparison operators should be == and <=>.
template <class _BidIt>
_NODISCARD auto operator<=>(const iter_value_t<_BidIt>& _Left, const sub_match<_BidIt>& _Right) {
_NODISCARD auto operator<=>(const _Iter_value_t<_BidIt>& _Left, const sub_match<_BidIt>& _Right) {
return static_cast<typename sub_match<_BidIt>::_Comparison_category>(0 <=> (_Right <=> _Left));
}

template <class _BidIt>
_NODISCARD bool operator==(const iter_value_t<_BidIt>& _Left, const sub_match<_BidIt>& _Right) {
_NODISCARD bool operator==(const _Iter_value_t<_BidIt>& _Left, const sub_match<_BidIt>& _Right) {
return _Right._Match_equal(_STD addressof(_Left), 1);
}

template <class _BidIt>
_NODISCARD bool operator!=(const iter_value_t<_BidIt>& _Left, const sub_match<_BidIt>& _Right) {
_NODISCARD bool operator!=(const _Iter_value_t<_BidIt>& _Left, const sub_match<_BidIt>& _Right) {
return !(_Left == _Right);
}

template <class _BidIt>
_NODISCARD bool operator<(const iter_value_t<_BidIt>& _Left, const sub_match<_BidIt>& _Right) {
_NODISCARD bool operator<(const _Iter_value_t<_BidIt>& _Left, const sub_match<_BidIt>& _Right) {
return (_Left <=> _Right) < 0;
}

template <class _BidIt>
_NODISCARD bool operator>(const iter_value_t<_BidIt>& _Left, const sub_match<_BidIt>& _Right) {
_NODISCARD bool operator>(const _Iter_value_t<_BidIt>& _Left, const sub_match<_BidIt>& _Right) {
return (_Left <=> _Right) > 0;
}

template <class _BidIt>
_NODISCARD bool operator<=(const iter_value_t<_BidIt>& _Left, const sub_match<_BidIt>& _Right) {
_NODISCARD bool operator<=(const _Iter_value_t<_BidIt>& _Left, const sub_match<_BidIt>& _Right) {
return (_Left <=> _Right) <= 0;
}

template <class _BidIt>
_NODISCARD bool operator>=(const iter_value_t<_BidIt>& _Left, const sub_match<_BidIt>& _Right) {
_NODISCARD bool operator>=(const _Iter_value_t<_BidIt>& _Left, const sub_match<_BidIt>& _Right) {
return (_Left <=> _Right) >= 0;
}

template <class _BidIt>
_NODISCARD bool operator!=(const sub_match<_BidIt>& _Left, const iter_value_t<_BidIt>& _Right) {
_NODISCARD bool operator!=(const sub_match<_BidIt>& _Left, const _Iter_value_t<_BidIt>& _Right) {
return !(_Left == _Right);
}

template <class _BidIt>
_NODISCARD bool operator<(const sub_match<_BidIt>& _Left, const iter_value_t<_BidIt>& _Right) {
_NODISCARD bool operator<(const sub_match<_BidIt>& _Left, const _Iter_value_t<_BidIt>& _Right) {
return (_Left <=> _Right) < 0;
}

template <class _BidIt>
_NODISCARD bool operator>(const sub_match<_BidIt>& _Left, const iter_value_t<_BidIt>& _Right) {
_NODISCARD bool operator>(const sub_match<_BidIt>& _Left, const _Iter_value_t<_BidIt>& _Right) {
return (_Left <=> _Right) > 0;
}

template <class _BidIt>
_NODISCARD bool operator<=(const sub_match<_BidIt>& _Left, const iter_value_t<_BidIt>& _Right) {
_NODISCARD bool operator<=(const sub_match<_BidIt>& _Left, const _Iter_value_t<_BidIt>& _Right) {
return (_Left <=> _Right) <= 0;
}

template <class _BidIt>
_NODISCARD bool operator>=(const sub_match<_BidIt>& _Left, const iter_value_t<_BidIt>& _Right) {
_NODISCARD bool operator>=(const sub_match<_BidIt>& _Left, const _Iter_value_t<_BidIt>& _Right) {
return (_Left <=> _Right) >= 0;
}
#endif // TRANSITION, VSO-900973
Expand Down Expand Up @@ -1060,7 +1060,7 @@ _NODISCARD bool operator==(
#if _HAS_CXX20
template <class _BidIt, class _Traits, class _Alloc>
_NODISCARD auto operator<=>(
const sub_match<_BidIt>& _Left, const basic_string<iter_value_t<_BidIt>, _Traits, _Alloc>& _Right) {
const sub_match<_BidIt>& _Left, const basic_string<_Iter_value_t<_BidIt>, _Traits, _Alloc>& _Right) {
return static_cast<typename sub_match<_BidIt>::_Comparison_category>(_Left.compare(_Right) <=> 0);
}

Expand All @@ -1069,73 +1069,73 @@ _NODISCARD auto operator<=>(
// In C++20 mode the only required comparison operators should be == and <=>.
template <class _BidIt, class _Traits, class _Alloc>
_NODISCARD auto operator<=>(
const basic_string<iter_value_t<_BidIt>, _Traits, _Alloc>& _Left, const sub_match<_BidIt>& _Right) {
const basic_string<_Iter_value_t<_BidIt>, _Traits, _Alloc>& _Left, const sub_match<_BidIt>& _Right) {
return static_cast<typename sub_match<_BidIt>::_Comparison_category>(0 <=> (_Right <=> _Left));
}

template <class _BidIt, class _Traits, class _Alloc>
_NODISCARD bool operator!=(
const sub_match<_BidIt>& _Left, const basic_string<iter_value_t<_BidIt>, _Traits, _Alloc>& _Right) {
const sub_match<_BidIt>& _Left, const basic_string<_Iter_value_t<_BidIt>, _Traits, _Alloc>& _Right) {
return !(_Left == _Right);
}

template <class _BidIt, class _Traits, class _Alloc>
_NODISCARD bool operator<(
const sub_match<_BidIt>& _Left, const basic_string<iter_value_t<_BidIt>, _Traits, _Alloc>& _Right) {
const sub_match<_BidIt>& _Left, const basic_string<_Iter_value_t<_BidIt>, _Traits, _Alloc>& _Right) {
return (_Left <=> _Right) < 0;
}

template <class _BidIt, class _Traits, class _Alloc>
_NODISCARD bool operator>(
const sub_match<_BidIt>& _Left, const basic_string<iter_value_t<_BidIt>, _Traits, _Alloc>& _Right) {
const sub_match<_BidIt>& _Left, const basic_string<_Iter_value_t<_BidIt>, _Traits, _Alloc>& _Right) {
return (_Left <=> _Right) > 0;
}

template <class _BidIt, class _Traits, class _Alloc>
_NODISCARD bool operator<=(
const sub_match<_BidIt>& _Left, const basic_string<iter_value_t<_BidIt>, _Traits, _Alloc>& _Right) {
const sub_match<_BidIt>& _Left, const basic_string<_Iter_value_t<_BidIt>, _Traits, _Alloc>& _Right) {
return (_Left <=> _Right) <= 0;
}

template <class _BidIt, class _Traits, class _Alloc>
_NODISCARD bool operator>=(
const sub_match<_BidIt>& _Left, const basic_string<iter_value_t<_BidIt>, _Traits, _Alloc>& _Right) {
const sub_match<_BidIt>& _Left, const basic_string<_Iter_value_t<_BidIt>, _Traits, _Alloc>& _Right) {
return (_Left <=> _Right) >= 0;
}

template <class _BidIt, class _Traits, class _Alloc>
_NODISCARD bool operator==(
const basic_string<iter_value_t<_BidIt>, _Traits, _Alloc>& _Left, const sub_match<_BidIt>& _Right) {
const basic_string<_Iter_value_t<_BidIt>, _Traits, _Alloc>& _Left, const sub_match<_BidIt>& _Right) {
return _Right._Match_equal(_Left.data(), _Left.size());
}

template <class _BidIt, class _Traits, class _Alloc>
_NODISCARD bool operator!=(
const basic_string<iter_value_t<_BidIt>, _Traits, _Alloc>& _Left, const sub_match<_BidIt>& _Right) {
const basic_string<_Iter_value_t<_BidIt>, _Traits, _Alloc>& _Left, const sub_match<_BidIt>& _Right) {
return !(_Left == _Right);
}

template <class _BidIt, class _Traits, class _Alloc>
_NODISCARD bool operator<(
const basic_string<iter_value_t<_BidIt>, _Traits, _Alloc>& _Left, const sub_match<_BidIt>& _Right) {
const basic_string<_Iter_value_t<_BidIt>, _Traits, _Alloc>& _Left, const sub_match<_BidIt>& _Right) {
return (_Left <=> _Right) < 0;
}

template <class _BidIt, class _Traits, class _Alloc>
_NODISCARD bool operator>(
const basic_string<iter_value_t<_BidIt>, _Traits, _Alloc>& _Left, const sub_match<_BidIt>& _Right) {
const basic_string<_Iter_value_t<_BidIt>, _Traits, _Alloc>& _Left, const sub_match<_BidIt>& _Right) {
return (_Left <=> _Right) > 0;
}

template <class _BidIt, class _Traits, class _Alloc>
_NODISCARD bool operator<=(
const basic_string<iter_value_t<_BidIt>, _Traits, _Alloc>& _Left, const sub_match<_BidIt>& _Right) {
const basic_string<_Iter_value_t<_BidIt>, _Traits, _Alloc>& _Left, const sub_match<_BidIt>& _Right) {
return (_Left <=> _Right) <= 0;
}

template <class _BidIt, class _Traits, class _Alloc>
_NODISCARD bool operator>=(
const basic_string<iter_value_t<_BidIt>, _Traits, _Alloc>& _Left, const sub_match<_BidIt>& _Right) {
const basic_string<_Iter_value_t<_BidIt>, _Traits, _Alloc>& _Left, const sub_match<_BidIt>& _Right) {
return (_Left <=> _Right) >= 0;
}
#endif // TRANSITION, VSO-900973
Expand Down

0 comments on commit 4065715

Please sign in to comment.