One of the main applications of Generic Programming is the
construction of efficient, reusable software libraries. The following
libraries were developed with the Generic Programming paradigm. These
libraries serve as examples of the Generic Programming process and its
results. If you know of other generic libraries that we have
overlooked (and there are sure to be many!), please contact the
.
- The Standard
Template Library (STL), now part of
the ANSI/ISO C++
Standard. The best-known implementation of the STL is freely
available
from SGI. The
STL provides generic containers
(list, vector, set, map, etc.),
iterators that access values within containers, and generic
algorithms
(sort, set_intersection, transform,
etc.).
- The Matrix Template
Library (MTL), which provides comprehensive linear algebra
functionality for a wide variety of matrix formats.
- The Computational Geometric
Algorithms Library (CGAL), which provides algorithms for
computational geometry.
- Boost provides a collection
of peer-reviewed C++ libraries, several of which were developed with
the Generic Programming paradigm.
- The Boost Graph
Library (BGL), which provides data structures and algorithms for
graph theory. This is part of
the Boost collective of
libraries.
- The Iterative
Template Library (ITL), which provides iterative methods for
solving linear systems.
- The Iterative
Eigensolver Template Library (IETL), which provides iterative
eigensolvers.
|