About the STL Concept Refinement Graph

David R. Musser

8/7/97

The concept refinement relation which the graph represents and links to is part of the "concept web" (my term) created by Matt Austern at Silicon Graphics Inc, as part of the SGI STL project led by Alexander Stepanov. The graph was created by Phillip Thorne while an undergraduate student in Design and Implementation of Generic Software (Course 66.496/696, which Sibylle Schupp and I taught at Rensselaer Polytechnic Institute, Spring 1997). Phillip's design of the graph improves upon a crude, hand-drawn tree structure I had presented in class, through clever and judicious choice of different techniques (Venn diagrams, tables, color) of showing refinement relationships. I later added the imagemap links to the corresponding pages in SGI's concept web. (Currently these links are to a local copy of SGI's STL web site.) For more on the way in which STL concepts are described and linked together in SGI's STL web pages, see their Introduction and Table of Contents.

The graph represents all STL container concepts and models in SGI STL except Singly Linked Lists, which SGI added after the graph was drawn. Singly Linked Lists and Hash Tables (which are represented in the graph) are not part of the ANSI/ISO draft C++ standard. STL also has other concepts, such as Algorithms and Iterators, which are not represented.


musser@cs.rpi.edu