System Class Template Reference

A class for representing systems of molecules. More...

#include <system.hpp>

Inheritance diagram for System:

ChemicallyTypedObject< ChemicalTypeSystemType, ChemicalTypeSystemType::structure_dictionary > BTKSequence< ChainType, StorageStrategy > PolymerSystemBase boost::less_than_comparable BTKContainer 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 chain_type
 Type definitions required for all System classes.
typedef iterator chain_iterator
 Type definitions required for all System classes.
typedef const_iterator const_chain_iterator
 Type definitions required for all System classes.
typedef reverse_iterator reverse_chain_iterator
 Type definitions required for all System classes.
typedef const_reverse_iterator const_reverse_chain_iterator
 Type definitions required for all System classes.
typedef id_type structure_id_type
 Type definitions required for all System classes.
typedef chain_type::atom_type atom_type
typedef BTK::UTILITY::GroupedElementIterator<
chain_iterator, typename
chain_type::atom_iterator,
chain_type, atom_type
atom_iterator
typedef BTK::UTILITY::GroupedElementIterator<
const_chain_iterator, typename
chain_type::const_atom_iterator,
chain_type const, atom_type
const > 
const_atom_iterator
typedef boost::reverse_iterator<
atom_iterator
reverse_atom_iterator
typedef boost::reverse_iterator<
const_atom_iterator
const_reverse_atom_iterator

Public Member Functions

 System (chemical_type_system const &cts, id_type type=id_type())
 Create an empty System with a given instance of a ChemicalTypeSystem.
virtual ~System ()
virtual dictionary const & get_dictionary () const
virtual dictionaryget_dictionary ()
virtual void set_chemical_type_system (chemical_type_system const &cts)
 Set the TypeSystem object associated with this System.
size_type num_chains () const
 Methods required for all System objects.
iterator system_begin ()
 Methods required for all System objects.
const_iterator system_begin () const
 Methods required for all System objects.
reverse_iterator system_rbegin ()
 Methods required for all System objects.
const_reverse_iterator system_rbegin () const
 Methods required for all System objects.
iterator system_end ()
 Methods required for all System objects.
const_iterator system_end () const
 Methods required for all System objects.
reverse_iterator system_rend ()
 Methods required for all System objects.
const_reverse_iterator system_rend () const
 Methods required for all System objects.
virtual std::ostream & print (std::ostream &os, size_type first_atom_num=1) const
 Methods required for all System objects.
chain_type::size_type num_atoms () const
 Methods required by the AtomIterableConcept.
atom_iterator structure_begin ()
 Methods required by the AtomIterableConcept.
atom_iterator structure_end ()
 Methods required by the AtomIterableConcept.
reverse_atom_iterator structure_rbegin ()
 Methods required by the AtomIterableConcept.
reverse_atom_iterator structure_rend ()
 Methods required by the AtomIterableConcept.
const_atom_iterator structure_begin () const
 Methods required by the AtomIterableConcept.
const_atom_iterator structure_end () const
 Methods required by the AtomIterableConcept.
const_reverse_atom_iterator structure_rbegin () const
 Methods required by the AtomIterableConcept.
const_reverse_atom_iterator structure_rend () const
 Methods required by the AtomIterableConcept.
virtual void swap (self_type &b)
 Methods required for STL Reversible containers.
self_type const & operator= (self_type const &rhs)
 Methods required for STL Reversible containers.
bool operator== (self_type const &rhs) const
 Methods required for STL Reversible containers.
bool operator!= (self_type const &rhs) const
 Methods required for STL Reversible containers.
bool operator< (self_type const &rhs) const
 Methods required for STL Reversible containers.

Detailed Description

template<typename ChainType, typename ChemicalTypeSystemType = typename ChainType::chemical_type_system, typename StorageStrategy = std::list<ChainType>>
class BTK::MOLECULES::System< ChainType, ChemicalTypeSystemType, StorageStrategy >

A class for representing systems of molecules.

Parameters:
ChainType The type of chain/molecule stored in the system (must be a model of the BTK ChainConcept).
StorageStrategy The underlying storage method (must be a model of the STL Sequence concept).
A System stores molecules (or more strictly, chains of atoms). It is a BTKSequence of ChainType objects, and therefore, a model of the BTKMutableContainerConcept (with a value_type equivalent to the ChainType).

This class requires that its ChainType be a model of the ChainConcept, but beyond that, no further requirements are imposed on the type of the object used to instantiate the class. If the ChainType is also a model of the MonomerIterableConcept, the resulting System type will be a model of the MonomerIterableConcept.


Member Typedef Documentation

typedef cto_type ::chemical_type_system chemical_type_system

Reimplemented from ChemicallyTypedObject< ChemicalTypeSystemType, ChemicalTypeSystemType::structure_dictionary >.

Reimplemented in PDBSystem.

typedef cto_type ::dictionary dictionary

Reimplemented from ChemicallyTypedObject< ChemicalTypeSystemType, ChemicalTypeSystemType::structure_dictionary >.

Reimplemented in PDBSystem.

typedef cto_type ::id_type id_type

Reimplemented from ChemicallyTypedObject< ChemicalTypeSystemType, ChemicalTypeSystemType::structure_dictionary >.

Reimplemented in PDBSystem.

typedef btk_seq_type ::value_type value_type

Reimplemented from BTKSequence< ChainType, StorageStrategy >.

Reimplemented in PDBSystem.

typedef btk_seq_type ::iterator iterator

Reimplemented from BTKSequence< ChainType, StorageStrategy >.

Reimplemented in PDBSystem.

typedef btk_seq_type ::const_iterator const_iterator

Reimplemented from BTKSequence< ChainType, StorageStrategy >.

Reimplemented in PDBSystem.

typedef btk_seq_type ::reverse_iterator reverse_iterator

Reimplemented from BTKSequence< ChainType, StorageStrategy >.

Reimplemented in PDBSystem.

typedef btk_seq_type ::const_reverse_iterator const_reverse_iterator

Reimplemented from BTKSequence< ChainType, StorageStrategy >.

Reimplemented in PDBSystem.

typedef btk_seq_type ::reference reference

Reimplemented from BTKSequence< ChainType, StorageStrategy >.

Reimplemented in PDBSystem.

typedef btk_seq_type ::const_reference const_reference

Reimplemented from BTKSequence< ChainType, StorageStrategy >.

Reimplemented in PDBSystem.

typedef btk_seq_type ::pointer pointer

Reimplemented from BTKSequence< ChainType, StorageStrategy >.

Reimplemented in PDBSystem.

typedef btk_seq_type ::const_pointer const_pointer

Reimplemented from BTKSequence< ChainType, StorageStrategy >.

Reimplemented in PDBSystem.

typedef btk_seq_type ::difference_type difference_type

Reimplemented from BTKSequence< ChainType, StorageStrategy >.

Reimplemented in PDBSystem.

typedef btk_seq_type ::size_type size_type

Reimplemented from BTKSequence< ChainType, StorageStrategy >.

Reimplemented in PDBSystem.

typedef value_type chain_type

Type definitions required for all System classes.

Reimplemented in PDBSystem.

typedef iterator chain_iterator

Type definitions required for all System classes.

Reimplemented in PDBSystem.

typedef const_iterator const_chain_iterator

Type definitions required for all System classes.

Reimplemented in PDBSystem.

typedef reverse_iterator reverse_chain_iterator

Type definitions required for all System classes.

Reimplemented in PDBSystem.

typedef const_reverse_iterator const_reverse_chain_iterator

Type definitions required for all System classes.

Reimplemented in PDBSystem.

typedef id_type structure_id_type

Type definitions required for all System classes.

Reimplemented in PDBSystem.

typedef chain_type::atom_type atom_type

Reimplemented in PDBSystem.

typedef BTK::UTILITY:: GroupedElementIterator<chain_iterator, typename chain_type::atom_iterator, chain_type, atom_type> atom_iterator

Reimplemented in PDBSystem.

typedef BTK::UTILITY:: GroupedElementIterator<const_chain_iterator, typename chain_type::const_atom_iterator, chain_type const, atom_type const> const_atom_iterator

Reimplemented in PDBSystem.

typedef boost::reverse_iterator<atom_iterator> reverse_atom_iterator

Reimplemented in PDBSystem.

typedef boost::reverse_iterator<const_atom_iterator> const_reverse_atom_iterator

Reimplemented in PDBSystem.


Constructor & Destructor Documentation

System ( chemical_type_system const &  cts,
id_type  type = id_type() 
)

Create an empty System with a given instance of a ChemicalTypeSystem.

System ( size_type  n = 0,
const_reference  t = chain_type(),
id_type  type = id_type() 
)

Constructors required by the STL Sequence concept.

System ( ChainIterator  i,
ChainIterator  j,
id_type  type = id_type() 
)

Constructors required by the STL Sequence concept.

System ( self_type const &  src  ) 

Constructors required by the STL Sequence concept.

virtual ~System (  )  [virtual]

System ( size_type  n = 0,
const_reference  t = chain_type(),
id_type  type = id_type() 
)

Constructors required by the STL Sequence concept.

System ( ChainIterator  i,
ChainIterator  j,
id_type  type = id_type() 
)

Constructors required by the STL Sequence concept.

System ( self_type const &  src  ) 

Constructors required by the STL Sequence concept.


Member Function Documentation

size_type num_chains (  )  const

Methods required for all System objects.

iterator system_begin (  ) 

Methods required for all System objects.

const_iterator system_begin (  )  const

Methods required for all System objects.

reverse_iterator system_rbegin (  ) 

Methods required for all System objects.

const_reverse_iterator system_rbegin (  )  const

Methods required for all System objects.

iterator system_end (  ) 

Methods required for all System objects.

const_iterator system_end (  )  const

Methods required for all System objects.

reverse_iterator system_rend (  ) 

Methods required for all System objects.

const_reverse_iterator system_rend (  )  const

Methods required for all System objects.

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

Methods required for all System objects.

chain_type::size_type num_atoms (  )  const

Methods required by the AtomIterableConcept.

atom_iterator structure_begin (  ) 

Methods required by the AtomIterableConcept.

atom_iterator structure_end (  ) 

Methods required by the AtomIterableConcept.

reverse_atom_iterator structure_rbegin (  ) 

Methods required by the AtomIterableConcept.

reverse_atom_iterator structure_rend (  ) 

Methods required by the AtomIterableConcept.

const_atom_iterator structure_begin (  )  const

Methods required by the AtomIterableConcept.

const_atom_iterator structure_end (  )  const

Methods required by the AtomIterableConcept.

const_reverse_atom_iterator structure_rbegin (  )  const

Methods required by the AtomIterableConcept.

const_reverse_atom_iterator structure_rend (  )  const

Methods required by the AtomIterableConcept.

virtual dictionary const& get_dictionary (  )  const [virtual]

Implements ChemicallyTypedObject< ChemicalTypeSystemType, ChemicalTypeSystemType::structure_dictionary >.

virtual dictionary& get_dictionary (  )  [virtual]

Implements ChemicallyTypedObject< ChemicalTypeSystemType, ChemicalTypeSystemType::structure_dictionary >.

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

Set the TypeSystem object associated with this System.

virtual void swap ( self_type b  )  [virtual]

Methods required for STL Reversible containers.

self_type const& operator= ( self_type const &  rhs  ) 

Methods required for STL Reversible containers.

bool operator== ( self_type const &  rhs  )  const

Methods required for STL Reversible containers.

bool operator!= ( self_type const &  rhs  )  const

Methods required for STL Reversible containers.

bool operator< ( self_type const &  rhs  )  const

Methods required for STL Reversible containers.


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