operator-(std::move_iterator<Iter>, std::move_sentinel)
From cppreference.com
                    
                                        
                    < cpp | iterator | move iterator
                    
                                                            
                    | template<std::sized_sentinel_for<Iter> S>   friend constexpr std::iter_difference_t<Iter> | (1) | (since C++20) | 
| template<std::sized_sentinel_for<Iter> S>   friend constexpr std::iter_difference_t<Iter> | (2) | (since C++20) | 
Returns the distance between a move_iterator and a move_sentinel.
These function templates are not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when std::move_iterator<Iter> is an associated class of the arguments.
Parameters
| i | - | std::move_iterator<Iter> | 
| s | - | std::move_sentinel<S>, whereSmodelsstd::sized_sentinel_for<Iter> | 
Return value
1) s.base() - i.base()
2) i.base() - s.base()
See also
| computes the distance between two iterator adaptors (function template) |