[ Web Proxy ]
URL:
Viewing: https://ru.cppreference.com/cpp/named_req/InputIterator [Back]  [Original]

C++ : LegacyInputIterator cppreference.com
cppreference.com

C++ : LegacyInputIterator

cppreference.com
 
C++
(C++20)
(C++20)
(C++11)
(C++20)
/
(C++11)
(C++11)
(C++11)
(C++17)
 
C++
(C++11)

/
(C++20)
(C++11)    
(C++11)
(C++11)
(C++11)


 

LegacyInputIterator LegacyIterator, . LegacyInputIterator : LegacyInputIterator i , .

It LegacyInputIterator

:

  • i j, It const It
  • reference, , std::iterator_traits<It>::reference
  • value_type, , std::iterator_traits<It>::value_type

i != j bool !(i == j) Precondition: (i, j) ==.
*i reference, value_type i == j (i, j) == *j.

: i .

(void)*i, *i *i.

i->m (*i).m : i .
++i It&

: i .

: i i .

: i , ==.

(void)i++ (void)++i
*i++ value_type value_type x = *i; ++i; return x;

" ==" , . , , ==

reference , LegacyForwardIterator : value_type ( std::istreambuf_iterator).

std::iterator_traits, .

<tbody> </tbody>
template<class I> concept __LegacyInputIterator = __LegacyIterator<I> && std::equality_comparable<I> && requires(I i) { typename std::incrementable_traits<I>::difference_type; typename std::indirectly_readable_traits<I>::value_type; typename std::common_reference_t<std::iter_reference_t<I>&&, typename std::indirectly_readable_traits<I>::value_type&>; *i++; typename std::common_reference_t<decltype(*i++)&&, typename std::indirectly_readable_traits<I>::value_type&>; requires std::signed_integral<typename std::incrementable_traits<I>::difference_type>; };

__LegacyIterator LegacyIterator#Concept.

( C++20)

, , , , , -, -
() []
Iterator library , , .

Web Proxy Viewer  |  New URL  |  Original Page