15 Eylül 2016 Perşembe

ForwardIterator

Giriş
5 tane iterator kategorisi var. Bunlar
1. input_iterator_tag - InputIterator yazısına bakınız.
2. output_iterator_tag - Output Iterator yazısına bakınız.
3. forward_iterator_tag - Bu yazı
4. bidirectional_iterator_tag,
5. random_access_iterator_tag - RandomAccessIterator yazısına bakınız.

forward_iterator_tag,bidirectional_iterator_tag ve random_access_iterator_tag yapıları aynı zamanda output_iterator_tag'den kalıtır.

Açıklaması şöyle
Forward iterators have the "Multipass guarantee", allowing repeated dereference of copies of iterators, yielding the same result.
Tanımlama
Şöyle yaparız.
struct iterator : std::iterator<std::forward_iterator_tag, T> {...}
operator * metodu
İmzası şöyledir
T& operator*() const;
operator ++ metodu
İmzası şöyledir
iterator& operator++() {
  ...
  return *this;
}
operator == metodu
İmzası şöyledir
bool operator==(const iterator& r) const;
operator != metodu 
İmzası şöyledir
bool operator!=(const iterator& r) const;


Hiç yorum yok:

Yorum Gönder