The library uses a few generic data structures extensively. All of these data structures are templatized, so they can be used with any type that defines the comparison operations they require. This section provides an introduction to the most frequently used operations defined on these data structures.