Concrete Classes
The concrete classes consist of:
The simple classes representing dates, times, strings, and so on, discussed in Date and Time Classes and String Processing Classes.
The template-based collection classes, discussed in Collection Class Templates.
Simple Classes
The Essential Tools Module provides a rich set of lightweight simple classes. By lightweight, we mean classes with low-cost initializers and copy constructors. These classes include RWDateTime for dates and times, with support for various time zones and locales), RWCString (for single and multibyte strings), and RWWString (for wide character strings). Most instantiations of these classes can be stored in four bytes or less, and have very simple copy constructors (usually just a bit copy) and no virtual functions. The SourcePro API Reference provides additional information on these classes.
Template-based Collection Classes
Template-based collection classes, or templates, give you the advantages of speed and type-safe usage. When templates are used sparingly, their code size can be quite small. When templates are used with many different types, however, their code size can become large because each type effectively generates a whole new class. If you have the C++ Standard Library, you can use the Essential Tools Module template-based collections that are based on the C++ Standard Library. If you do not have the C++ Standard Library, you can use a subset of the templates, described in The C++ Standard Library Containers and Iterators and the std() Gateway.