ChemicallyTypedObject Class Template Reference

A base class for objects that need to conform to the ChemicallyTyped concept. More...

#include <chemically_typed_object.hpp>

Inheritance diagram for ChemicallyTypedObject:

boost::less_than_comparable AtomicStructure PolymerStructure Chain Monomer Polymer Molecule List of all members.

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_systemget_chemical_type_system ()
 Returns a mutable reference to the chemical type system for the object.
virtual dictionary const & get_dictionary () const=0
virtual dictionaryget_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.

Detailed Description

template<typename ChemicalTypeSystemType, typename DictionaryType>
class BTK::UTILITY::ChemicallyTypedObject< ChemicalTypeSystemType, DictionaryType >

A base class for objects that need to conform to the ChemicallyTyped concept.

This is a base class useful for implementing types that need to model the StrictlyChemicallyTyped and ChemicallyTyped concepts.


Member Typedef Documentation

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 >.


Constructor & Destructor Documentation

ChemicallyTypedObject ( chemical_type_system const &  ts = chemical_type_system(),
id_type  t = id_type() 
)

ChemicallyTypedObject ( self_type const &  src  ) 

virtual ~ChemicallyTypedObject (  )  [virtual]


Member Function Documentation

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.

self_type const& operator= ( self_type const &  src  )  [protected]

void swap ( self_type rhs  )  [protected]

bool operator== ( self_type const &  rhs  )  const [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.

bool operator!= ( self_type const &  rhs  )  const [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.

bool operator< ( self_type const &  rhs  )  const [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.


The documentation for this class was generated from the following file:
Generated on Sun Jul 15 20:46:43 2007 for BTK Core by  doxygen 1.5.1