| 722 | |
| 723 | iterator begin() const noexcept { return {string_view_type(haystack_), matcher_}; } |
| 724 | iterator end() const noexcept { return {string_view_type(haystack_.data(), 0ull), matcher_}; } |
| 725 | size_type size() const noexcept { return static_cast<size_type>(ssize()); } |
| 726 | difference_type ssize() const noexcept { return std::distance(begin(), end()); } |
| 727 | bool empty() const noexcept { return begin() == end_sentinel_type {}; } |