AtomicStructure Class Template Reference

A class for representing atomic structures. More...

#include <atomic_structure.hpp>

Inheritance diagram for AtomicStructure:

ChemicallyTypedObject BTKSequence< AtomType, StorageStrategy > boost::less_than_comparable BTKContainer Chain Monomer Molecule List of all members.

Public Types

typedef cto_type::chemical_type_system chemical_type_system
typedef cto_type::dictionary dictionary
typedef cto_type::id_type id_type
typedef btk_seq_type::value_type value_type
typedef btk_seq_type::iterator iterator
typedef btk_seq_type::const_iterator const_iterator
typedef btk_seq_type::reverse_iterator reverse_iterator
typedef btk_seq_type::const_reverse_iterator const_reverse_iterator
typedef btk_seq_type::reference reference
typedef btk_seq_type::const_reference const_reference
typedef btk_seq_type::pointer pointer
typedef btk_seq_type::const_pointer const_pointer
typedef btk_seq_type::difference_type difference_type
typedef btk_seq_type::size_type size_type
typedef value_type atom_type
typedef iterator atom_iterator
typedef const_iterator const_atom_iterator
typedef reverse_iterator reverse_atom_iterator
typedef const_reverse_iterator const_reverse_atom_iterator
typedef id_type structure_id_type
typedef atom_type::id_type atom_id_type

Public Member Functions

 AtomicStructure (self_type const &source)
virtual ~AtomicStructure ()
size_type num_atoms () const
 Get the size of an AtomicStructure, in atoms.
virtual void set_chemical_type_system (chemical_type_system const &cts)
 Set the TypeSystem object associated with this AtomicStructure.
virtual std::ostream & print (std::ostream &os, size_type first_atom_num=1, size_type group_num=1, char chain_id= ' ') const
 Print an AtomicStructure to a stream.
virtual dictionary const & get_dictionary () const=0
virtual dictionaryget_dictionary ()=0
atom_iterator structure_begin ()
 Beginning of atom range.
const_atom_iterator structure_begin () const
 Beginning of atom range.
reverse_atom_iterator structure_rbegin ()
 Beginning of reversed atom range.
const_reverse_atom_iterator structure_rbegin () const
 Beginning of reversed atom range.
atom_iterator structure_end ()
 End of atom range.
const_atom_iterator structure_end () const
 End of atom range.
reverse_atom_iterator structure_rend ()
 End of reversed atom range.
const_reverse_atom_iterator structure_rend () const
 End of reversed atom range.

Protected Member Functions

self_type const & operator= (self_type const &rhs)
 Assignment operator.
void swap (self_type &b)
 Swap method.
bool operator< (self_type const &rhs) const
 Less-than comparision.
bool operator== (self_type const &rhs) const
 Equality comparison.
bool operator!= (self_type const &rhs) const
 Equality comparison.

Detailed Description

template<typename AtomType, typename ChemicalTypeSystemType, typename DictionaryType, typename StorageStrategy = std::vector<AtomType>>
class BTK::MOLECULES::AtomicStructure< AtomType, ChemicalTypeSystemType, DictionaryType, StorageStrategy >

A class for representing atomic structures.

AtomicStructure is a base class for all atom-based molecules in the BTK. It is an STL Bidirectional Container of atom objects (i.e. objects that conform to the AtomConcept), and as such, does not support the direct insertion or deletion of atoms, but does support atom iteration, assignment, equality comparison and other methods required by the Bidirectional Container concept.

This class is a model of the AtomicStructureConcept.


Member Typedef Documentation

typedef cto_type ::chemical_type_system chemical_type_system

Reimplemented from ChemicallyTypedObject.

Reimplemented in Chain, Molecule, and Monomer.

typedef cto_type ::dictionary dictionary

Reimplemented from ChemicallyTypedObject.

Reimplemented in Chain, Molecule, and Monomer.

typedef cto_type ::id_type id_type

Reimplemented from ChemicallyTypedObject.

Reimplemented in Chain, Molecule, and Monomer.

typedef btk_seq_type ::value_type value_type

Reimplemented from BTKSequence< AtomType, StorageStrategy >.

Reimplemented in Chain, Molecule, and Monomer.

typedef btk_seq_type ::iterator iterator

Reimplemented from BTKSequence< AtomType, StorageStrategy >.

Reimplemented in Chain, Molecule, and Monomer.

typedef btk_seq_type ::const_iterator const_iterator

Reimplemented from BTKSequence< AtomType, StorageStrategy >.

Reimplemented in Chain, Molecule, and Monomer.

typedef btk_seq_type ::reverse_iterator reverse_iterator

Reimplemented from BTKSequence< AtomType, StorageStrategy >.

Reimplemented in Chain, Molecule, and Monomer.

typedef btk_seq_type ::const_reverse_iterator const_reverse_iterator

Reimplemented from BTKSequence< AtomType, StorageStrategy >.

Reimplemented in Chain, Molecule, and Monomer.

typedef btk_seq_type ::reference reference

Reimplemented from BTKSequence< AtomType, StorageStrategy >.

Reimplemented in Chain, Molecule, and Monomer.

typedef btk_seq_type ::const_reference const_reference

Reimplemented from BTKSequence< AtomType, StorageStrategy >.

Reimplemented in Chain, Molecule, and Monomer.

typedef btk_seq_type ::pointer pointer

Reimplemented from BTKSequence< AtomType, StorageStrategy >.

Reimplemented in Chain, Molecule, and Monomer.

typedef btk_seq_type ::const_pointer const_pointer

Reimplemented from BTKSequence< AtomType, StorageStrategy >.

Reimplemented in Chain, Molecule, and Monomer.

typedef btk_seq_type ::difference_type difference_type

Reimplemented from BTKSequence< AtomType, StorageStrategy >.

Reimplemented in Chain, Molecule, and Monomer.

typedef btk_seq_type ::size_type size_type

Reimplemented from BTKSequence< AtomType, StorageStrategy >.

Reimplemented in Chain, Molecule, and Monomer.

typedef value_type atom_type

Reimplemented in Chain, Molecule, and Monomer.

typedef iterator atom_iterator

Reimplemented in Chain, Molecule, and Monomer.

typedef const_iterator const_atom_iterator

Reimplemented in Chain, Molecule, and Monomer.

typedef reverse_iterator reverse_atom_iterator

Reimplemented in Chain, Molecule, and Monomer.

typedef const_reverse_iterator const_reverse_atom_iterator

Reimplemented in Chain, Molecule, and Monomer.

typedef id_type structure_id_type

Reimplemented in Chain, Molecule, and Monomer.

typedef atom_type::id_type atom_id_type

Reimplemented in Chain, Molecule, and Monomer.


Constructor & Destructor Documentation

AtomicStructure ( self_type const &  source  ) 

virtual ~AtomicStructure (  )  [virtual]

AtomicStructure ( size_type  n = 0,
const_reference  t = value_type(),
id_type  type = id_type() 
) [protected]

Constructors used to implement derived classes.

AtomicStructure ( AtomIterator  i,
AtomIterator  j,
id_type  type = id_type() 
) [protected]

Constructors used to implement derived classes.

AtomicStructure ( size_type  n = 0,
const_reference  t = value_type(),
id_type  type = id_type() 
) [protected]

Constructors used to implement derived classes.

AtomicStructure ( AtomIterator  i,
AtomIterator  j,
id_type  type = id_type() 
) [protected]

Constructors used to implement derived classes.


Member Function Documentation

size_type num_atoms (  )  const

Get the size of an AtomicStructure, in atoms.

atom_iterator structure_begin (  ) 

Beginning of atom range.

const_atom_iterator structure_begin (  )  const

Beginning of atom range.

reverse_atom_iterator structure_rbegin (  ) 

Beginning of reversed atom range.

const_reverse_atom_iterator structure_rbegin (  )  const

Beginning of reversed atom range.

atom_iterator structure_end (  ) 

End of atom range.

const_atom_iterator structure_end (  )  const

End of atom range.

reverse_atom_iterator structure_rend (  ) 

End of reversed atom range.

const_reverse_atom_iterator structure_rend (  )  const

End of reversed atom range.

virtual void set_chemical_type_system ( chemical_type_system const &  cts  )  [virtual]

Set the TypeSystem object associated with this AtomicStructure.

virtual std::ostream& print ( std::ostream &  os,
size_type  first_atom_num = 1,
size_type  group_num = 1,
char  chain_id = ' ' 
) const [virtual]

Print an AtomicStructure to a stream.

Deprecated:
Todo:
Simplify the stream output system. See Atom for details.

virtual dictionary const& get_dictionary (  )  const [pure virtual]

Implements ChemicallyTypedObject.

Implemented in Molecule, and Monomer.

virtual dictionary& get_dictionary (  )  [pure virtual]

Implements ChemicallyTypedObject.

Implemented in Molecule, and Monomer.

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

Assignment operator.

The contents of this AtomicStructure are replaced with those of rhs.

Reimplemented in Chain, Molecule, and Monomer.

void swap ( self_type b  )  [protected]

Swap method.

Swaps this AtomicStructure with another.

Reimplemented in Chain, Molecule, and Monomer.

bool operator== ( self_type const &  rhs  )  const [protected]

Equality comparison.

Two AtomicStructures are equivalent iff their types are equivalent, and all of their contained atoms are equivalent.

Reimplemented in Chain, Molecule, and Monomer.

bool operator!= ( self_type const &  rhs  )  const [protected]

Equality comparison.

Two AtomicStructures are equivalent iff their types are equivalent, and all of their contained atoms are equivalent.

Reimplemented in Chain, Molecule, and Monomer.

bool operator< ( self_type const &  rhs  )  const [protected]

Less-than comparision.

AtomicStructure A is less than AtomicStructure B if the type of A is less than the type of B, or if the types of A and B are equal, and the atoms of A are less than B using lexicographical ordering rules.

Reimplemented in Chain, Molecule, and Monomer.


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