#include <chemically_typed_object.hpp>
Inheritance diagram for ChemicallyTypedObject:
Public Types | |
typedef ChemicalTypeSystemType | chemical_type_system |
typedef DictionaryType | dictionary |
typedef dictionary::id_type | id_type |
Public Member Functions | |
ChemicallyTypedObject (chemical_type_system const &ts=chemical_type_system(), id_type t=id_type()) | |
ChemicallyTypedObject (self_type const &src) | |
virtual | ~ChemicallyTypedObject () |
id_type | type () const |
Returns the chemical id type of the object. | |
std::string | name () const |
Returns the name of the object. | |
chemical_type_system const & | get_chemical_type_system () const |
Returns a const reference to the chemical type system for the object. | |
chemical_type_system & | get_chemical_type_system () |
Returns a mutable reference to the chemical type system for the object. | |
virtual dictionary const & | get_dictionary () const=0 |
virtual dictionary & | get_dictionary ()=0 |
Protected Member Functions | |
virtual void | set_type (id_type t) |
Set the chemical ID type of the object to a new value. | |
virtual void | set_chemical_type_system (chemical_type_system const &ts) |
Set a new chemical type system for the object. | |
self_type const & | operator= (self_type const &src) |
void | swap (self_type &rhs) |
bool | operator== (self_type const &rhs) const |
Comparison operators. | |
bool | operator!= (self_type const &rhs) const |
Comparison operators. | |
bool | operator< (self_type const &rhs) const |
Comparison operators. |
This is a base class useful for implementing types that need to model the StrictlyChemicallyTyped and ChemicallyTyped concepts.
typedef ChemicalTypeSystemType chemical_type_system |
Reimplemented in Atom, PDBSystem, AtomicStructure, Chain, Molecule, Monomer, Polymer, PolymerStructure, System, and System< PolymerType, ChemicalTypeSystemType, StorageStrategy >.
typedef DictionaryType dictionary |
Reimplemented in Atom, PDBSystem, AtomicStructure, Chain, Molecule, Monomer, Polymer, PolymerStructure, System, and System< PolymerType, ChemicalTypeSystemType, StorageStrategy >.
typedef dictionary::id_type id_type |
Reimplemented in Atom, PDBSystem, AtomicStructure, Chain, Molecule, Monomer, Polymer, PolymerStructure, System, and System< PolymerType, ChemicalTypeSystemType, StorageStrategy >.
ChemicallyTypedObject | ( | chemical_type_system const & | ts = chemical_type_system() , |
|
id_type | t = id_type() | |||
) |
ChemicallyTypedObject | ( | self_type const & | src | ) |
virtual ~ChemicallyTypedObject | ( | ) | [virtual] |
id_type type | ( | ) | const |
Returns the chemical id type of the object.
std::string name | ( | ) | const |
Returns the name of the object.
A "name," in this context, is a textual representation of the chemical type (i.e. an atom name or a residue name). If the chemical type is undefined or unknown, the empty string is returned.
chemical_type_system const& get_chemical_type_system | ( | ) | const |
Returns a const reference to the chemical type system for the object.
chemical_type_system& get_chemical_type_system | ( | ) |
Returns a mutable reference to the chemical type system for the object.
virtual dictionary const& get_dictionary | ( | ) | const [pure virtual] |
Implemented in Atom, AtomicStructure, Molecule, Monomer, Polymer, PolymerStructure, System, and System< PolymerType, ChemicalTypeSystemType, StorageStrategy >.
virtual dictionary& get_dictionary | ( | ) | [pure virtual] |
Implemented in Atom, AtomicStructure, Molecule, Monomer, Polymer, PolymerStructure, System, and System< PolymerType, ChemicalTypeSystemType, StorageStrategy >.
virtual void set_type | ( | id_type | t | ) | [protected, virtual] |
Set the chemical ID type of the object to a new value.
virtual void set_chemical_type_system | ( | chemical_type_system const & | ts | ) | [protected, virtual] |
Set a new chemical type system for the object.
void swap | ( | self_type & | rhs | ) | [protected] |
Comparison operators.
Note: the full EqualityComparable and LessThanComparable concepts are supported through the use of the boost::operators template classes. These operators are protected, in order to prevent unintentional heterogeneous type comparisons.
Comparison operators.
Note: the full EqualityComparable and LessThanComparable concepts are supported through the use of the boost::operators template classes. These operators are protected, in order to prevent unintentional heterogeneous type comparisons.
Comparison operators.
Note: the full EqualityComparable and LessThanComparable concepts are supported through the use of the boost::operators template classes. These operators are protected, in order to prevent unintentional heterogeneous type comparisons.