| 647 | } |
| 648 | |
| 649 | constexpr bool SC::StringView::fullyOverlaps(StringView other, size_t& commonOverlappingPoints) const |
| 650 | { |
| 651 | commonOverlappingPoints = 0; |
| 652 | switch (getEncoding()) |
| 653 | { |
| 654 | case StringEncoding::Ascii: return equalsIterator<StringIteratorASCII>(other, commonOverlappingPoints); |
| 655 | case StringEncoding::Utf8: return equalsIterator<StringIteratorUTF8>(other, commonOverlappingPoints); |
| 656 | case StringEncoding::Utf16: return equalsIterator<StringIteratorUTF16>(other, commonOverlappingPoints); |
| 657 | } |
| 658 | StringsAssert::unreachable(); |
| 659 | } |
| 660 | |
| 661 | template <typename Func> |
| 662 | constexpr auto SC::StringView::withIterator(Func&& func) const |