The List class provides generic support for linked lists. The template mechanism of C++ is used to make the generic list typesafe. Auxiliary classes List_Node and List_Iterator are used to store the generic data associated with each node of the list and to support iteration over the elements of a linked list, respectively. The implementation of these auxiliary classes is trivial; they are therefore not discussed in this section.