Ćwiczenie 5. polega na zaimplementowaniu iteratora o dostępie swobodnym dla pojemników wykonywanych podczas ćwiczeń 3, 4.
aghInclude.h
poprzez który włączane są wszystkie niezbędne pliki.aghIterator
, która będzie reprezentować szablon iteratora.aghIterator
powinien wykazywać zachowanie maksymalnie zbliżone do zwykłego wskaźnika.first()
- zwraca iterator pokazujący na pierwszy element w pojemniku.last()
- zwraca iterator pokazujący na ostatni element w pojemniku.next()
- przesuwa iterator na następny element.prev()
- przesuwa iterator na poprzedni element.current()
- zwraca aktualnie pokazywany element w pojemniku, oraz umożliwia zmianę wartości tego elementu.atFirst()
- przenosi iterator na pierwszy element w pojemniku.atLast()
- przenosi iterator na ostatni element w pojemniku.size()
- zwraca ilość elementów od aktualnie pokazywanego do ostatniego elementu w pojemniku.iterator
- obiekt iteratora, pojemnik
- obiekt pojemnika na który pokazuje iterator, i
- dowolna liczba całkowita, b
- typ parametryczny przechowywany przez obiekt pojemnika):iterator = &pojemnik
- ustawia pojemnik na który iterator pokazuje.if((int)iterator == NULL)
- sprawdzenie czy iterator pokazuje na pojemnik, ewentualnie czy pojemnik zawiera przynajmniej jeden element oraz czy aktualnie pokazywany element jest poprawny.*iterator
- zwraca aktualnie pokazywany element.*iterator = b
- zapisuje wartość zmiennej b
pod aktualnie pokazywany element.iterator[i]
- zwraca element znajdujący się o i
pozycji dalej względem aktualnego elementu.iterator[i] = b
- zapisuje wartość zmiennej b
jako element znajdujący się i
pozycji dalej względem aktualnego elementu.iterator + i
- zwraca iterator przesunięty o i
elementów dalej.iterator += i
- przesuwa iterator o i
elementów dalej.iterator - i
- zwraca iterator przesunięty o i
elementów bliżej.iterator -= i
- przesuwa iterator o i
elementów wcześniej.iterator++
- zwraca iterator pokazujący na i
-ty element a następnie przesuwa iterator na i+1
element.++iterator
- przesuwa iterator na i+1
element i zwraca iterator pokazujący na i+1
element.iterator–
- zwraca iterator pokazujący na i-ty
element a następnie przesuwa iterator na i-1
element.–iterator
- przesuwa iterator na i-1
element i zwraca iterator pokazujący na i-1
element.iterator1 == iterator2
- porównanie dwóch iteratorów - są sobie równe tylko wtedy gdy pokazują na ten sam element.iterator1 != iterator2
- analogicznie jak powyżej.aghException
jeżeli żądany element jest poza zakresem aghException
.