### Class Template Naming Conventions

All class templates begin with an uppercase I. The table below shows the naming conventions used to distinguish between different types of class templates, given a default class template of ISet.

#### Class Template Naming Conventions

Class name | Meaning of letters
--- | ---
ISet | Default class template.
ISetImpl | Typeless implementation class.
ICSetImpl | Typeless implementation class that implements additional checks.
IGSet | Default generic class template. The element operations class can be specified as template argument.
ISetAsAvlTree ISetAsBstTree ISetAsList ISetAsTable ISetAsDilTable ISetAsHshTable | Variant class templates
IASet | Abstract class template.

Introduction to the Collection Classes
Collection Class Hierarchy
Collection Characteristics
Flat Collections
Trees

Possible Implementation Paths
Choosing One of the Provided Implementation Variants
Taking Advantage of the Abstract Class Hierarchy
Instantiating the Collection Classes
Troubleshooting Problems while Using the Collection Class Library