pointer operator->() const;
reverse_iterator& operator++();
reverse_iterator operator++(int);
reverse_iterator& operator--();
reverse_iterator operator--(int);
reverse_iterator operator+ (difference_type n) const;
reverse_iterator& operator+=(difference_type n);
reverse_iterator operator- (difference_type n) const;
reverse_iterator& operator-=(difference_type n);
reference operator[](difference_type n) const;
};
Кері итератордың ағымдағы итератор –
current
деп аталатын қорғалған
мəліметтер өрісі бар. Инкремент операциясы осы итератордың декременті
арқылы жүзеге асырылады:
template
reverse_iterator& reverse_iterator operator++(){
--current;
return *this;
}
Итератор контейнердің барлық элементтеріне, оның ішінде соңғыдан кейін
орналасқан элементіне де нұсқай алады, бірақ кері итератор үшін мұндай
элементтің орнында алғашқы элементтің алдындағысы болуы тиіс, ал ондай
элемент жоқ. Сондықтан
current
, шын мəнінде, кері итератор нұсқайтан эле-
менттен кейін орналасқан элементке сілтеме жасайды. Тура жəне кері итера-
торлар арасындағы қатынас келесі өрнекпен беріледі:
&*(reverse_iterator(i)) == &*(i - 1).
Кері итераторлар үшін қарапайым қатынас операциялары
==
,
!=
,
<
,
<=
жəне
=
сүйемелденеді.
Контейнерлік кластардағы кері итерторлар олардың элементтерін кері
бағытта қарап шығу үшін сипатталған. Сонымен қатар,
reverse_iterator
361
мəнін қайтаратын
rbegin()
жəне
Достарыңызбен бөлісу: |