
#include <ExclusionTable.h>
Public Member Functions | |
| ExclusionTable () | |
| void | resize (int count) |
| void | clear () |
| void | add (int atom1, int atom2, ExclusionClass type) |
| ExclusionClass | check (int atom1, int atom2) const |
| bool | checkReallyFast (int atom1, int atom2) const |
| bool | empty () const |
| const std::vector< ExclusionPair > & | getTable () const |
| void | cleanTemporaries () |
Private Attributes | |
| std::vector< ExclusionClass > | lowDeltas |
| std::vector< bool > | anyExclsForThisDelta |
| std::map< PairInt, ExclusionClass > | highDeltas |
| int | myMaxDelta |
| std::vector< ExclusionPair > | myTable |
| std::set< ExclusionPair > | mySet |
|
|
|
|
||||||||||||||||
|
Add a new exclusion between atom1 and atom2 of the given type.
|
|
||||||||||||
|
Check for an exclusion between atom1 and atom2, and return its type.
|
|
||||||||||||
|
Check if there could be an exclusion between atom1 and atom2. If this function returns false, there is no exclusion, but a true result doesn't give any information. Requires that atom1 $<$ atom2. |
|
|
Clean up temporaries, to be called after the exclusion table is build.
|
|
|
Clear all exclusions from the table.
|
|
|
Returns true if there are no exclusions.
|
|
|
|
|
|
Set the number of atoms in the system (not the number of exclusions). This invalidates the data, so a clear must be performed after this before the table is used again. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|