Cain  1_10
About: Cain performs stochastic and deterministic simulations for chemical kinetics.
  Fossies Dox:  ("inofficial" and yet experimental doxygen-generated source code documentation)  

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Algorithms and Data Structures Package


This is a templated C++ class library. All the functionality is implemented in header files. Thus there is no library to compile or link with. Just include the appropriate header files in your application code when you compile.

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 priority queue package has priority queues implemented with binary heaps and an approximate priority queue implemented with a cell array.
  • The indexed priority queue package has a variety of data structures.
  • The timer package has a simple timer class.

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 Counter Package counter package implements the ads::CounterWithReset class.
  • The functor package defines various utility functors.
  • The halfedge package has a halfedge data structure.
  • The iterator package has iterator adapters.
  • The set package has data structures for sets of integers.
  • The tensor package has square matrices.
  • The utility package has a class for parsing command line options, and string functions.

Deprecated 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. Instead of using these classes use std::tr1::array for fixed-size arrays and the top-level array package for dynamically-sized arrays.


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 timer package, this file is timer.h. To use the timer package, one would add:
#include "ads/timer.h"