typename List<Type>::ReverseIterator List<Type>::rend(void) { // return a reverse iterator just past the beginning return ReverseIterator(&_sentinel); }
typename List<Type>::ReverseIterator List<Type>::rbegin(void) { // return a reverse iterator to the end return ReverseIterator(_sentinel.previous()); }
CellLinkedList::ReverseIterator CellLinkedList::erase(CellLinkedList::ReverseIterator pos) { Iterator it = (++pos).base(); it = erase(it); return ReverseIterator(it); }
CellLinkedList::ReverseIterator CellLinkedList::insert(CellLinkedList::ReverseIterator pos, Cell * cell) { Iterator it = insert(pos.base(), cell); return ReverseIterator(++it); }
typename Map<T,H>::ReverseIterator Map<T,H>::rend() const { return ReverseIterator(this->head); }
typename Map<T,H>::ReverseIterator Map<T,H>::rbegin() const { return ReverseIterator(this->tail->prev_iter); }