This book presents a comprehensive catalogue of elementary data types like sets, maps, orders, trees and lists, written in Ada. Such data types are often used in systems programming. The major focus is on: - a uniform syntactic and semantic interface for all data types, - many implementation variants per data type, all ac cessible through a single interface, - a hierarchical system of the data types as a basis for data type selection and implementation. Meeting these goals is the main achievement of the book. The combination of efficient applicability and ease of learning and maintenance is achieved by the carefully elaborated interfaces of the catalogue's data types. These interfaces combine abstraction, which is necessary for easy learning and for leaving implementation freedom, and functional completeness, which is an essential prerequisite for high performance in different application contexts. The selection of the right data type implementation for a given context is supported by the data type hierarchy which imposes different abstraction levels, and an orthogonal scheme of implementation variants which can be freely combined.
Together with the uniformity of interfaces, the hierarchical composition of the catalogue leads to a small code base, from which different implementation variants are generated using a macro processor.