Klasy te są zaimplementowane jako część obszernego tematu jakim są dynamiczne struktury danych. Wymienione w nagłówku klasy mają wspólne funkcje obsługi. Rożnią się one praktycznie tylko typem przetrzymywanych danych. I tak:
Wstawianie elementu na początek listy jak i na koniec listy jest bardzo szybkie. Szybko działa także wstawianie na konkretnie zadaną pozycję. Przeszukiwanie sekwencyjne jest niezbędne, aby odnaleźć obiekty po indeksie lub wartości. Przeszukiwanie to mooże byś relatywnie wolne przede wszystkim przy strukturze o dużych rozmiarach.
Przy używaniu Listy wskaźników na obiekty (CObList), a dokładnie przy usuwaniu elementów bądź czyszczeniu listy usuwane są tylko wskaźniki na element, a nie konkterne obiekty. Bo co to by było jakby na dany obiekt wskazywało jeszcze pięć innych wskaźników.
Wszystkie z klas typu *List wykorzystują mechanizm SERIALIZACJI dostarczając w ten sposób metod dostępu do archiwum. Za pomocą operatorów <<,>> można szybko pobrać lub zapisać wartość tablicy do pliku za pomocą klasy CArchive dostępnej w funkcji Serialize zaimplementowanej dla klacy CDocument.
Jeżeli dla wyżej wymienionych klas chcemy stosować mechanizm Serializacji musimy użyć makra IMPLEMENT_SERIAL dla klasy, którą przetrzymujemy w strukturze.
| Metody | Opis |
|---|---|
| "NazwaKlasy" | Konstruktor obiektu dla wybranej klasy |
| GetHead | Zwraca element z początku listy - nie może być pusty |
| GetTail | Zwraca element z końca listy - nie może być pusty |
| RemoveHead | Usuwa element z początku listy |
| RemoveTail | Funkcja usuwa element z końca listy |
| AddHead | Dodaje na początek element listy bądź całą listę tworząc automatycznie nową "głowę" |
| AddTail | Funkcja dodaje na koniec element listy bądź całą listę tworząc automatycznie nowy "ogon" |
| RemoveAll | Usuwa wszystkie elementy listy |
| GetHeadPosition | Zwaraca pozycję pierwszego elementu listy |
| GetTailPosition | Zwaraca pozycję ostatniego elementu listy |
| GetNext | Ustawia wskaźnik na następnym elemencie listy |
| GetPrev | Ustawia wskaźnik na poprzednim elemencie listy |
| GetAt | Pobiera element z konkretnej pozycji |
| SetAt | Ustawia element na wskazanej pozycji |
| RemoveAt | Usuwa element najdujący się na konkretnej pozycji |
| InsertBefore | Wstawia nowy element przed wskazaną pozycją |
| InsertAfter | Wstawia nowy element za wskazaną pozycją |
| Find | Pobiera pozycję elementu wyspecyfikowanego przez wartość wskaźnika |
| FindIndex | Pobiera pozycję elementu wyspecyfikowanego przez index liczony od 0 |
| GetCount | Zwraca liczbę elementów w strukturze |
| IsEmpty | Sprawdza, czy lista jest pusta |