Stores an ordered triple of CHARMM atom-type names for angle lookup. More...
#include <CharmmParameters.h>
Public Member Functions | |
| AngleKey (const std::string &iatom, const std::string &jatom, const std::string &katom) | |
| Constructs an angle key from three atom-type names. | |
| bool | operator== (const AngleKey &other) const |
| Returns whether two ordered angle keys are equal. | |
Public Attributes | |
| std::string | atom1 |
| std::string | atom2 |
| std::string | atom3 |
Friends | |
| bool | operator< (const AngleKey &first, const AngleKey &second) |
| Orders angle keys in descending lexicographic atom-type order. | |
| std::ostream & | operator<< (std::ostream &output, const AngleKey &key) |
| Writes the three atom-type names followed by a trailing space. | |
Stores an ordered triple of CHARMM atom-type names for angle lookup.
The parser canonicalizes an angle by sorting its outer atom types before it constructs this value. Direct construction performs no sorting or case conversion.
|
inline |
Constructs an angle key from three atom-type names.
| [in] | iatom | First outer atom-type name to copy. |
| [in] | jatom | Central atom-type name to copy. |
| [in] | katom | Second outer atom-type name to copy. |
| std::bad_alloc | If copying an atom-type name requires an allocation that fails. |
|
inline |
Returns whether two ordered angle keys are equal.
| [in] | other | Key to compare with this key. |
true when all three names match in the same order; otherwise, false. Orders angle keys in descending lexicographic atom-type order.
| [in] | first | Left key to compare. |
| [in] | second | Right key to compare. |
true when first sorts before second by descending atom1, atom2, and then atom3.
|
friend |
Writes the three atom-type names followed by a trailing space.
| [in,out] | output | Stream that receives the text. |
| [in] | key | Angle key to write. |
output after the write. | std::string AngleKey::atom1 |
Stores the first outer atom-type name exactly as supplied.
| std::string AngleKey::atom2 |
Stores the central atom-type name exactly as supplied.
| std::string AngleKey::atom3 |
Stores the second outer atom-type name exactly as supplied.