Namespaces
Variants
Views
Actions

operator-(std::move_iterator<Iter>, std::move_sentinel)

From cppreference.com
 
 
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)

Iterator adaptors
Iterator customization points
Iterator operations
(C++11)    
(C++11)
Range access
(C++11)(C++14)
(C++14)(C++14)    
(C++11)(C++14)
(C++14)(C++14)    
(C++17)(C++20)
(C++17)
(C++17)
 
 
template< std::sized_sentinel_for<Iter> S >

    friend constexpr std::iter_difference_t<Iter>

        operator-( const std::move_sentinel<S>& s, const move_iterator& i );
(1) (since C++20)
template< std::sized_sentinel_for<Iter> S >

    friend constexpr std::iter_difference_t<Iter>

        operator-( const move_iterator& i, const std::move_sentinel<S>& s );
(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.

Contents

[edit] Parameters

i - std::move_iterator<Iter>
s - std::move_sentinel<S>, where S models std::sized_sentinel_for<Iter>

[edit] Return value

1) s.base() - i.base()
2) i.base() - s.base()

[edit] Example

[edit] See also

(C++11)
computes the distance between two iterator adaptors
(function template) [edit]