- Main Page
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# MutualExclusionAndExhaustion Class Reference

`#include <MutualExclusionAndExhaustion.h>`

List of all members.

## Public Member Functions
| MutualExclusionAndExhaustion ()
| MutualExclusionAndExhaustion (MutualExclusionAndExhaustion const &other)
| MutualExclusionAndExhaustion ()
## Static Public Member Functions
static int | removeMEE (BaseModelSentence &theory)
static int | addMEE (BaseModelSentence &theory)
static int | addMEE (BaseModelVariableArray const &variables, BaseModelSentence &theory)

## Detailed Description

A class capable of detecting and removing mutual exclusion and exhaustion clauses. Note that this is a static class, it provides utility functions but is not a data structure. Instantiating this class as an object serves as a shorter pneumonic only.

Definition at line 55 of file MutualExclusionAndExhaustion.h.

## Constructor & Destructor Documentation

MutualExclusionAndExhaustion::MutualExclusionAndExhaustion | ( |  | ) |

Constructs a new, empty object.

Definition at line 47 of file MutualExclusionAndExhaustion.cpp.

MutualExclusionAndExhaustion::MutualExclusionAndExhaustion | ( | MutualExclusionAndExhaustion const & | other | ) |

Copies this object. Note that there is no data, so this is equivalent to just creating the object.

Definition at line 54 of file MutualExclusionAndExhaustion.cpp.

MutualExclusionAndExhaustion::MutualExclusionAndExhaustion | ( |  | ) |

Destroys this object.

## Member Function Documentation

int MutualExclusionAndExhaustion::removeMEE | ( | BaseModelSentence & | theory | ) | `[static]`

Removes the mutual exclusion and exhaustion clauses from the theory. Note that the variable and domain information is taken from the theory.

Parameters:

  | theory | The theory being reduced. The reduction is done in place. The theory is updated by removing these clauses. To see if the theory was changed, check the theory's length.

Returns:
  0 on success or a negative number (warning) if some clauses could not be removed.

Definition at line 67 of file MutualExclusionAndExhaustion.cpp.

int MutualExclusionAndExhaustion::addMEE | ( | BaseModelSentence & | theory | ) | `[static]`

Adds the mutual exclusion and exhaustion clauses to the theory. Note that the variable and domain information is taken from the theory.

Parameters:

  | theory | The theory to which these clauses are added. The addition is done in place. The theory is updated by adding these clauses. To see if the theory was changed, check the theory's length.

Returns:
  0 on success or a positive number (error) if some clauses could not be added.

Definition at line 77 of file MutualExclusionAndExhaustion.cpp.

int MutualExclusionAndExhaustion::addMEE | ( | BaseModelVariableArray const & | variables,
|  | BaseModelSentence & | theory |
| ) |  |  | `[static]`

Adds the mutual exclusion and exhaustion clauses to the theory. Note that the variable and domain information is taken from the variables. Only the non-null variablesin the variable array will have mutual exclusion and exhaustion clauses added.

Parameters:

  | variables | The variables for whom the mutual exclusion and exhaustion information is being added.
  | theory | The theory to which these clauses are added. The addition is done in place. The theory is updated by adding these clauses. To see if the theory was changed, check the theory's length.

Returns:
  0 on success or a positive number (error) if some clauses could not be added.

Definition at line 85 of file MutualExclusionAndExhaustion.cpp.

The documentation for this class was generated from the following files:

- /Users/fpy/titan-1-5-MBARI/Mers/Models/Base/Utils/MutualExclusionAndExhaustion.h
- /Users/fpy/titan-1-5-MBARI/Mers/Models/Base/Utils/MutualExclusionAndExhaustion.cpp