Collection classes

Several of the classes represent collections of other objects.These collections work in much the same way as the similar classes in the Standard Template Library (STL).

Each of these collections is documented in its own page, along with sample code.
Vector<ValueType> A Vector is an indexed sequence of values similar to an array.
Grid<ValueType> A Grid is an indexed, two-dimensional array.
GridLocationA GridLocation struct is a row/col pair.
GridLocationRangeA GridLocationRange is a two-dimensional range of grid locations.
Stack<ValueType> A Stack is a linear structure in which values are added and removed only from one end, LIFO.
Queue<ValueType> A Queue is a linear structure in which values are added at one end and removed from the other, FIFO.
PriorityQueue<ValueType> A PriorityQueue is a specialized queue in which values are processed in order of priority.
Map<KeyTypeValueType> A Map maintains an ordered association between keys and values.
HashMap<KeyTypeValueType> A HashMap is a highly efficient and unordered implementation of the Map abstraction.
Set<ValueType> A Set is an ordered collection of distinct values.
HashSet<ValueType> A HashSet is a highly efficient and unordered implementation of the Set abstraction.
Lexicon A Lexicon is a highly efficient implementation of a word list.

Utility header files

These headers export various utility functions, grouped thematically. Some of these have been updated for Fall Quarter 2022; others are pending updates.
direction.h This file exports an enumerated type called Direction whose elements are the four compass points: NORTH, EAST, SOUTH, and WEST.
error.h This file defines the ErrorException class and the error function.
filelib.h This file exports a standardized set of tools for working with files.
GPoint A GPoint struct is a x/y pair to represent a location in the graphics plane.
random.h This file exports functions for generating pseudorandom numbers.
simpio.h This file exports a set of functions that simplify input/output operations in C++ and provide some error-checking on console input.
strlib.h This file exports several useful string functions that are not included in the C++ string library.
timer.h This file exports a class for measuring intervals of time.