Go to the first, previous, next, last section, table of contents.
rules.h Interface definition to the data structures used in the rule based
model system.
Inheritance tree... (See /pgm/h/00readme.txt for full tree of the library
classes.)
BaseObject
|
|--Operation (Private class of CodeStream)
|
|--CodeStream
|
|--VecInt
| |
| |--IdentHooks<T>
|
|--ShiftableDouble
|
|--Identifier
|
|--IdentCell <--VecInt
|
|--IdentDataStream <--InterpFunction
|
|--IdentDouble
|
|--IdentSpecieCell <--ShiftableDouble
|
|--IdentBaseSpecie
| |
| |--IdentEcowideSpecie <--ShiftableDouble
| |
| |--IdentSpecie
|
|
|--IdentCellBasedDataStream
|
|--IdentLocal
Descriptions of individual classes...
Identifier : BaseObject
Abstract class handling any identifier found by the lexical scanner.
Also counts references.
(Like a very dumb student, it knows its names and not much else...)
Abstract object whose value can be got and set.
pure virtual method double get() const must be overridden.
IdentCell : Identifier, VecInt
For lake cells. Holds list of links.
Also knows its own number on the cell list.
(int indexes into cellList)
IdentDouble : Identifier
Stores local variables and predefines.
Implements +=, -=, *=, /=, get() and set()
IdentDataStream : Identifier, InterpFunction
Contains an input data stream.
IdentCellBasedDataStream : Identifier
Implements an input variable that is present for every cell.
Basically provides a mapping from the variable name and cell number to
actual input data stream.
IdentBaseSpecie : Identifier
An abstract class for represent both flavours of species.
Stores the starting and running rules code streams.
IdentSpecie : IdentBaseSpecie
Implements cell based flavour of specie. Stores current and previous
values for all cells.
IdentLocal : Identifier
Stores local variables for cell based species.
ShiftableDouble : BaseObject
Stores current value and old value, can shift them. The set() method
implements the range limiting feature.
IdentEcowideSpecie : IdentBaseSpecie, ShiftableDouble
Implements ecowide flavour of specie.
CodeStream : BaseObject
Implements a stream of low level operations.
Operation : BaseObject
Implements a low level operation. Input ecosystem rules are translated
into these elementary operations. Private class of CodeStream
IdentHooks<T> : VecInt
All identifiers are stuffed into the identList, a VecObjectPointer of
Identifiers. This is to provide one central source for all identifier
names. However identifiers refer to several semantically different
objects. Ie. Cells, input data streams, species. To keep track of
these different semantic groups, separate lists of each semantic group
is maintained. These lists are merely indexes into the main idList.
The IdentHooks template provides a type safe way of accessing
the actual object from the list via the idList.
Main program for rule based model.
For full description see info file rule.inf FLEX based Lexical scanner for rule based model.
Go to the first, previous, next, last section, table of contents.