std::counted_iterator<I>::operator=

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
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< class I2 >

    requires std::assignable_from<I&, const I2&>

constexpr counted_iterator& operator=( const counted_iterator<I2>& other );
(since C++20)

The underlying iterator and length are assigned with those of other.

Parameters

other - iterator adaptor to assign from

Return value

*this

Example

#include <algorithm>
#include <cassert>
#include <initializer_list>
#include <iterator>
 
int main()
{
    auto a = {3, 1, 4, 1, 5, 9, 2};
    std::counted_iterator<std::initializer_list<int>::iterator> p(begin(a), size(a) - 2);
    std::counted_iterator<std::initializer_list<int>::iterator> q;
    assert(q.count() == 0);
    assert(q.count() != p.count());
    q = p;
    assert(q.count() == p.count());
    assert(std::ranges::equal(p, std::default_sentinel, q, std::default_sentinel));
}

See also

constructs a new iterator adaptor
(public member function)