1 INTRODUCTION
The FND Foundation Class Library is a set of general purpose C++ classes and functions. The purpose of FND is to provide a generic implementation of common data handling structures and algorithms.
The core of the FND Library is a set of container classes that implements dynamic arrays, lists, dictionaries and other data handling structures. A lot of container libraries are available on the market, and in particular the Draft ANSI C++ standard[3] includes the STL Standard Template Library, that implements containers by using templates.
The FND Library does not use templates for the implementation of containers and is, in this respect and for the basic implementation concepts, very similar to other C++ libraries (like Borland Foundation Library or the NIH Class Library) and to the standard Smalltalk and Java container class libraries.
The FND Library was already used to develop VLT Software before the Draft ANSI C++[3] proposal became available and was already in part heavily used for the core C++ VLT Software components. With the publication of the Draft ANSI C++ document[3] it was anyway decided to encourage the usage of the STL library and not to encourage the usage of the FND in favor of STL. For this reason a User Manual for FND was not officially available.
On the other hand, still the FND Class Library provides some advantages with respect to STL and at the same time the process of standardization of C++ is going on very slowly, with the effect that the definition and implementation of STL is still not stable and only a partial implementation is available.
Because of these reasons, the usage of FND has been steadily growing in the VLT Software, despite of the encouragement for using STL, and it has then been decided to provide this User Manual.
More details on the interrelations between FND, STL and other container class libraries can be found in section 2.5.
1.1 PURPOSE
This document is the User Manual for the FND Foundation Class Library. FND is used by application programmers developing C++ applications.
As FND is implemented in C++, it may be advantageous to have some knowledge of C++ for reading this manual and using the functions.
1.2 RELEASE NOTES
For details on not implemented features, known problems and last minute changes, look at the files RelNotes_xxx.text and ChangeLog in the fnd module's directory.
1.3 SCOPE
It is assumed that the reader of this manual already is familiar with the VLT SW Programming Standards and the rules for developing applications.
Note that this User Manual is not intended as a course in C++.
1.4 APPLICABLE DOCUMENTS
The following documents, of the exact issue shown, form a part of this document to the extent specified herein. In the event of conflict between the documents referenced herein and the contents of this document, the contents of this document shall be considered as a superseding requirement.
1.5 REFERENCE DOCUMENTS
[3] Working Paper for Draft Proposed International Standard for Information Systems-- Programming Language C++ - Doc No:X3J16/96-0225, 2 December 1996
1.6 ABBREVIATIONS AND ACRONYMS
The following abbreviations and acronyms are used in this document:
1.7 STYLISTIC CONVENTIONS
The following styles are used:
bold and italic are also used to highlight words.
1.8 PROBLEM REPORTING/CHANGE REQUEST
Please refer to [2].
Quadralay Corporation http://www.webworks.com Voice: (512) 719-3399 Fax: (512) 719-3606 sales@webworks.com |