{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

Extracts from the Base libraries

Extracts from the Base libraries - A Extracts from the Base...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
A Extracts from the Base libraries Throughout the discussion, we have encountered references to a set of libraries collectively known as the “Base libraries”, from which the most fundamental classes are grouped into the “Kernel library”. Reading such classes is a good way to learn more about the method by benefiting from the example of widely reused software components, which have been around for a long time and continue to evolve. This page and the next are only the introduction to the appendix; the actual class texts, made available in electronic form so as to facilitate browsing, appear only on the CD- ROM version of this book (starting next page) . A detailed presentation of the libraries has been published separately [M 1994a] , which also describes the theoretical underpinnings — the general taxonomy principles used to classify the major data structures of computing science. A few of the basic ideas were summarized in the discussion of view inheritance. Among the most important classes whose concepts were discussed in the previous chapters and whose text you will find on the following pages on the CD-ROM are: ARRAY , describing one-dimensional arrays and relying on a flexible and general view of this notion (in particular, arrays can be freely resized to any dimension during the execution of a system). LINKABLE , describing cells of linked structures, chained one-way to similar cells. BI_LINKABLE , the equivalent for two-way linked cells. LIST , a deferred class representing the general notion of list as “active data structure” with cursor, without commitment to a particular representation. (The next three classes provide specific implementations, using multiple inheritance through the “marriage of convenience” technique.) ARRAYED_LIST , giving an implementation by an array (whose resizability of is particularly useful here). LINKED_LIST , a one-way linked list implementation, relying internally on class LINKABLE . See “Criteria for view inheritance”, page 856 .
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
EXTRACTS FROM THE BASE LIBRARY § A.1 1166 TWO_WAY_LIST , a one-way linked list implementation, relying internally on class BI_LINKABLE . TWO_WAY_TREE , a widely used implementation of general trees, based on TWO_WAY_LIST for its representation and relying on the observation made on the chapter on multiple inheritance: if we merge the notion of tree and node, we can consider that a tree is both a list (as in TWO_WAY_LIST ) and a list element (as in BI_LINKABLE ). All these classes, representing containers, are generic, with a single generic parameter representing th e type of element s. The classes are given “as is”, without further formating. Note that the following page numbers are of the form 1266.1, 1266.2 etc. to avoid any confusion with the numbering of the pages in the printed book.
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}