There are ten top-level directories:
| data | Data files. |
|---|---|
| doc | Documentation. |
| doxygen | Configuration files and makefiles for building the documentation. |
| examples | Drivers and example programs. |
| packages | The source code. (All header files.) |
| performance | Drivers to test the performance of the algorithms. |
| prototypes | Prototypes for testing new algorithms. |
| results | Makefiles that use the example programs to produce results. |
| test | Uniting testing code. |
| utilities | Utility programs. |
In some distributions of this code the documentation is pre-built. If you have Doxygen, you can build it yourself by executing make in the doxygen directory. As a user, you will work with the source code in packages and the drivers in examples. The data directory will also be useful for running the drivers. There is probably no need to look in the other directories.
This library is composed entirely of header files.
To use any class or function in this library, simply include the file that
contains its definition. The packages are composed of header files with a
.h suffix and implementation files with a .ipp
suffix. The header
files contain the user interface: class definitions and function declarations.
Although the documentation presents all of the classes and functions, you
may prefer to directly browse the header files.
The .ipp files contain the function definitions. It should not
be necessary to study these files as they are an implementation detail.
Eeach top-level package in STLib has its own namespace. These are enumerated in the Packages section. There is no namespace for STLib as a whole, however it is trivial to add one if you so desire. Just wrap the includes in a namespace definition:
namespace stlib {
#include "stlib/packages/ads/array/Array.h"
}
stlib::ads::Array<3, double> field;