The ADS package is composed of a number of sub-packages. All classes and functions are in the ads namespace. There are some general purpose sub-packages:
- The array package has fixed-size and dynamically-sized arrays. There are classes for N-D arrays that either allocate their own memory, or wrap externally allocated memory.
- The priority queue package has priority queues implemented with binary heaps and an approximate priority queue implemented with a cell array.
- The timer package has a simple timer class.
- The static assertions package has a macro for performing static (compile time) assertions.
Other sub-packages are preliminary or ad hoc.
- The algorithm package has min and max functions for more than two arguments and functions for sorting.
- The functor package defines various utility functors.
- The iterator package has iterator adapters.
- The tensor package has square matrices.
- The halfedge package has a halfedge data structure.
The following compilers are supported:
- GNU C++ compiler, g++, version 3.3.x, with flags: -ansi -pedantic.
- Intel C++ compiler, icc, version 8.0, with flags: -strict_ansi.
This library is ANSI compliant. (Hence the note about ANSI flags above. If your code is not ANSI compliant, then you would not want to use these flags.) In theory, the code should compile on any platform/compiler combination that supports ANSI C++. In practice, I am sure that this is not the case. In the future I will test the code with additional compilers to improve its portability.
The top-level directory of this package is called ads
. Each sub-package has its own sub-directory. For example, the array package is in the array
directory. Each sub-package has a header file in the top-level directory that includes all the classes and functions for that package. For the array package, this file is array.h
. To use the array package, one would add:
Generated on Fri Aug 24 12:55:37 2007 for Algorithms and Data Structures Package by
1.4.7