Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

BTK::Polymer< MonomerType > Class Template Reference

Polymer is a class for representing polymeric molecules. More...

#include <polymer.h>

Inheritance diagram for BTK::Polymer< MonomerType >:

Inheritance graph
[legend]
Collaboration diagram for BTK::Polymer< MonomerType >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef boost::function< void(atom_iterator, atom_iteratorbuild_strategy_t )
STL-required container type definitions.
typedef base_type::value_type value_type
typedef base_type::reference reference
typedef base_type::const_reference const_reference
typedef base_type::pointer pointer
typedef base_type::const_pointer const_pointer
typedef base_type::size_type size_type
typedef base_type::iterator iterator
typedef base_type::const_iterator const_iterator
specially named STL-types
typedef value_type monomer_type
typedef iterator monomer_iterator
typedef const_iterator const_monomer_iterator
typedef base_molecule_type::value_type atom_type
typedef base_molecule_type::iterator atom_iterator
typedef base_molecule_type::const_iterator const_atom_iterator
typedef base_molecule_type::reference atom_reference
typedef base_molecule_type::const_reference const_atom_reference

Public Member Functions

 Polymer (size_type s=0, build_strategy_t build_strategy=0)
template<typename AtomIterator>  Polymer (AtomIterator first, AtomIterator last, build_strategy_t build_strategy=0)
 Construct a polymer from an stl container of atoms.

 Polymer (const self_type &source)
template<typename T2>  Polymer (const Polymer< T2 > &source)
 ~Polymer ()
self_typeoperator= (const self_type &rhs)
template<typename T2> self_typeoperator= (const Polymer< T2 > &rhs)
const std::string & name () const
void set_name (const std::string &name)
char chain_id () const
void set_chain_id (char chain_id)
size_type atom_size () const
atom_iterator atom_begin ()
const_atom_iterator atom_begin () const
atom_iterator atom_end ()
const_atom_iterator atom_end () const
atom_reference atom (size_type i)
const_atom_reference atom (size_type i) const
atom_reference atom_back ()
const_atom_reference atom_back () const
atom_reference atom_front ()
const_atom_reference atom_front () const
void monomer_push_back (const monomer_type &m)
build_strategy_t build_strategy () const
size_type size () const
 Replication of std::vector function (see std::vector documentation).

iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
reference operator[] (size_type i)
const_reference operator[] (size_type i) const
reference front ()
const_reference front () const
reference back ()
const_reference back () const
size_type monomer_size () const
 atom versions of standard STL function names

iterator monomer_begin ()
 atom versions of standard STL function names

const_iterator monomer_begin () const
 atom versions of standard STL function names

iterator monomer_end ()
 atom versions of standard STL function names

const_iterator monomer_end () const
 atom versions of standard STL function names

reference monomer (size_type i)
 atom versions of standard STL function names

const_reference monomer (size_type i) const
 atom versions of standard STL function names

reference monomer_back ()
 atom versions of standard STL function names

const_reference monomer_back () const
 atom versions of standard STL function names

reference monomer_front ()
 atom versions of standard STL function names

const_reference monomer_front () const
 atom versions of standard STL function names


Protected Member Functions

template<typename AtomIterator> void add_monomer (AtomIterator first, AtomIterator last, const AtomGroupConcept::group_variant_container_t &modifiers)
template<typename AtomIterator> void create_monomers (AtomIterator first, AtomIterator last)
void sync_molecule_to_monomers ()
 Create a molecule that contains a shared copy of the atoms in all monomers of this polymer.

void clear ()
 Replication of std::vector function (see std::vector documentation).

void resize (size_type s)
void reserve (size_type s)
void push_back (const value_type &x)
iterator insert (iterator pos, const value_type &x)
void insert (iterator pos, size_type s, const value_type &x)
void insert (iterator pos, InputIterator first, InputIterator last)
iterator erase (iterator pos)
iterator erase (iterator first, iterator last)
void shallow_push_back (value_type *x)
void shallow_insert (iterator pos, const_iterator first, const_iterator last)
void deep_copy (const SharedVectorBase< T2 > &source)
void shallow_copy (const self_type &source)

Detailed Description

template<typename MonomerType>
class BTK::Polymer< MonomerType >

Polymer is a class for representing polymeric molecules.

:


Member Typedef Documentation

template<typename MonomerType>
typedef base_molecule_type::iterator BTK::Polymer< MonomerType >::atom_iterator
 

template<typename MonomerType>
typedef base_molecule_type::reference BTK::Polymer< MonomerType >::atom_reference
 

template<typename MonomerType>
typedef base_molecule_type::value_type BTK::Polymer< MonomerType >::atom_type
 

template<typename MonomerType>
typedef boost::function<void(atom_iterator,atom_iterator) BTK::Polymer< MonomerType >::build_strategy_t)
 

template<typename MonomerType>
typedef base_molecule_type::const_iterator BTK::Polymer< MonomerType >::const_atom_iterator
 

template<typename MonomerType>
typedef base_molecule_type::const_reference BTK::Polymer< MonomerType >::const_atom_reference
 

template<typename MonomerType>
typedef base_type::const_iterator BTK::Polymer< MonomerType >::const_iterator
 

Reimplemented from BTK::MonomerContainer< MonomerType >.

template<typename MonomerType>
typedef const_iterator BTK::Polymer< MonomerType >::const_monomer_iterator
 

Reimplemented from BTK::MonomerContainer< MonomerType >.

template<typename MonomerType>
typedef base_type::const_pointer BTK::Polymer< MonomerType >::const_pointer
 

Reimplemented from BTK::MonomerContainer< MonomerType >.

template<typename MonomerType>
typedef base_type::const_reference BTK::Polymer< MonomerType >::const_reference
 

Reimplemented from BTK::MonomerContainer< MonomerType >.

template<typename MonomerType>
typedef base_type::iterator BTK::Polymer< MonomerType >::iterator
 

Reimplemented from BTK::MonomerContainer< MonomerType >.

template<typename MonomerType>
typedef iterator BTK::Polymer< MonomerType >::monomer_iterator
 

Reimplemented from BTK::MonomerContainer< MonomerType >.

template<typename MonomerType>
typedef value_type BTK::Polymer< MonomerType >::monomer_type
 

Reimplemented from BTK::MonomerContainer< MonomerType >.

template<typename MonomerType>
typedef base_type::pointer BTK::Polymer< MonomerType >::pointer
 

Reimplemented from BTK::MonomerContainer< MonomerType >.

template<typename MonomerType>
typedef base_type::reference BTK::Polymer< MonomerType >::reference
 

Reimplemented from BTK::MonomerContainer< MonomerType >.

template<typename MonomerType>
typedef base_type::size_type BTK::Polymer< MonomerType >::size_type
 

Reimplemented from BTK::MonomerContainer< MonomerType >.

template<typename MonomerType>
typedef base_type::value_type BTK::Polymer< MonomerType >::value_type
 

Reimplemented from BTK::MonomerContainer< MonomerType >.


Constructor & Destructor Documentation

template<typename MonomerType>
BTK::Polymer< MonomerType >::Polymer size_type  s = 0,
build_strategy_t  build_strategy = 0
 

Here is the call graph for this function:

template<typename MonomerType>
template<typename AtomIterator>
BTK::Polymer< MonomerType >::Polymer AtomIterator  first,
AtomIterator  last,
build_strategy_t  build_strategy = 0
 

Construct a polymer from an stl container of atoms.

Polymer will copy the atoms in the list, divide them into their proper monomer groups, and store them internally.

Here is the call graph for this function:

template<typename MonomerType>
BTK::Polymer< MonomerType >::Polymer const self_type source  ) 
 

Here is the call graph for this function:

template<typename MonomerType>
template<typename T2>
BTK::Polymer< MonomerType >::Polymer const Polymer< T2 > &  source  ) 
 

Here is the call graph for this function:

template<typename MonomerType>
BTK::Polymer< MonomerType >::~Polymer  )  [inline]
 


Member Function Documentation

template<typename MonomerType>
template<typename AtomIterator>
void BTK::Polymer< MonomerType >::add_monomer AtomIterator  first,
AtomIterator  last,
const AtomGroupConcept::group_variant_container_t modifiers
[protected]
 

Here is the call graph for this function:

template<typename MonomerType>
const_atom_reference BTK::Polymer< MonomerType >::atom size_type  i  )  const [inline]
 

template<typename MonomerType>
atom_reference BTK::Polymer< MonomerType >::atom size_type  i  )  [inline]
 

template<typename MonomerType>
const_atom_reference BTK::Polymer< MonomerType >::atom_back  )  const [inline]
 

Here is the call graph for this function:

template<typename MonomerType>
atom_reference BTK::Polymer< MonomerType >::atom_back  )  [inline]
 

Here is the call graph for this function:

template<typename MonomerType>
const_atom_iterator BTK::Polymer< MonomerType >::atom_begin  )  const [inline]
 

Here is the call graph for this function:

template<typename MonomerType>
atom_iterator BTK::Polymer< MonomerType >::atom_begin  )  [inline]
 

Here is the call graph for this function:

template<typename MonomerType>
const_atom_iterator BTK::Polymer< MonomerType >::atom_end  )  const [inline]
 

Here is the call graph for this function:

template<typename MonomerType>
atom_iterator BTK::Polymer< MonomerType >::atom_end  )  [inline]
 

Here is the call graph for this function:

template<typename MonomerType>
const_atom_reference BTK::Polymer< MonomerType >::atom_front  )  const [inline]
 

Here is the call graph for this function:

template<typename MonomerType>
atom_reference BTK::Polymer< MonomerType >::atom_front  )  [inline]
 

Here is the call graph for this function:

template<typename MonomerType>
size_type BTK::Polymer< MonomerType >::atom_size  )  const [inline]
 

Here is the call graph for this function:

const_reference BTK::SharedVectorBase< MonomerType >::back  )  const [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

reference BTK::SharedVectorBase< MonomerType >::back  )  [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

const_iterator BTK::SharedVectorBase< MonomerType >::begin  )  const [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

iterator BTK::SharedVectorBase< MonomerType >::begin  )  [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

template<typename MonomerType>
build_strategy_t BTK::Polymer< MonomerType >::build_strategy  )  const [inline]
 

template<typename MonomerType>
char BTK::Polymer< MonomerType >::chain_id  )  const [inline]
 

Here is the call graph for this function:

void BTK::SharedVectorBase< MonomerType >::clear  )  [inline, protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

template<typename MonomerType>
template<typename AtomIterator>
void BTK::Polymer< MonomerType >::create_monomers AtomIterator  first,
AtomIterator  last
[protected]
 

Here is the call graph for this function:

void BTK::SharedVectorBase< MonomerType >::deep_copy const SharedVectorBase< T2 > &  source  )  [protected, inherited]
 

const_iterator BTK::SharedVectorBase< MonomerType >::end  )  const [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

iterator BTK::SharedVectorBase< MonomerType >::end  )  [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

iterator BTK::SharedVectorBase< MonomerType >::erase iterator  first,
iterator  last
[inline, protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

iterator BTK::SharedVectorBase< MonomerType >::erase iterator  pos  )  [inline, protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

const_reference BTK::SharedVectorBase< MonomerType >::front  )  const [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

reference BTK::SharedVectorBase< MonomerType >::front  )  [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

void BTK::SharedVectorBase< MonomerType >::insert iterator  pos,
InputIterator  first,
InputIterator  last
[protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

void BTK::SharedVectorBase< MonomerType >::insert iterator  pos,
size_type  s,
const value_type x
[protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

iterator BTK::SharedVectorBase< MonomerType >::insert iterator  pos,
const value_type x
[inline, protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

template<typename MonomerType>
const_reference BTK::MonomerContainer< MonomerType >::monomer size_type  i  )  const [inline, inherited]
 

atom versions of standard STL function names

Here is the call graph for this function:

template<typename MonomerType>
reference BTK::MonomerContainer< MonomerType >::monomer size_type  i  )  [inline, inherited]
 

atom versions of standard STL function names

Here is the call graph for this function:

template<typename MonomerType>
const_reference BTK::MonomerContainer< MonomerType >::monomer_back  )  const [inline, inherited]
 

atom versions of standard STL function names

Here is the call graph for this function:

template<typename MonomerType>
reference BTK::MonomerContainer< MonomerType >::monomer_back  )  [inline, inherited]
 

atom versions of standard STL function names

Here is the call graph for this function:

template<typename MonomerType>
const_iterator BTK::MonomerContainer< MonomerType >::monomer_begin  )  const [inline, inherited]
 

atom versions of standard STL function names

Here is the call graph for this function:

template<typename MonomerType>
iterator BTK::MonomerContainer< MonomerType >::monomer_begin  )  [inline, inherited]
 

atom versions of standard STL function names

Here is the call graph for this function:

template<typename MonomerType>
const_iterator BTK::MonomerContainer< MonomerType >::monomer_end  )  const [inline, inherited]
 

atom versions of standard STL function names

Here is the call graph for this function:

template<typename MonomerType>
iterator BTK::MonomerContainer< MonomerType >::monomer_end  )  [inline, inherited]
 

atom versions of standard STL function names

Here is the call graph for this function:

template<typename MonomerType>
const_reference BTK::MonomerContainer< MonomerType >::monomer_front  )  const [inline, inherited]
 

atom versions of standard STL function names

Here is the call graph for this function:

template<typename MonomerType>
reference BTK::MonomerContainer< MonomerType >::monomer_front  )  [inline, inherited]
 

atom versions of standard STL function names

Here is the call graph for this function:

template<typename MonomerType>
void BTK::Polymer< MonomerType >::monomer_push_back const monomer_type m  )  [inline]
 

Here is the call graph for this function:

template<typename MonomerType>
size_type BTK::MonomerContainer< MonomerType >::monomer_size  )  const [inline, inherited]
 

atom versions of standard STL function names

Here is the call graph for this function:

template<typename MonomerType>
const std::string& BTK::Polymer< MonomerType >::name  )  const [inline]
 

Here is the call graph for this function:

template<typename MonomerType>
template<typename T2>
BTK::Polymer< MonomerType >::self_type & BTK::Polymer< MonomerType >::operator= const Polymer< T2 > &  rhs  ) 
 

Here is the call graph for this function:

template<typename MonomerType>
BTK::Polymer< MonomerType >::self_type & BTK::Polymer< MonomerType >::operator= const self_type rhs  ) 
 

Atoms and monomers in rhs are deep-copied into this Polymer. No references to the original Polymer will remain in this Polymer.

:

Reimplemented from BTK::MonomerContainer< MonomerType >.

Here is the call graph for this function:

const_reference BTK::SharedVectorBase< MonomerType >::operator[] size_type  i  )  const [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

reference BTK::SharedVectorBase< MonomerType >::operator[] size_type  i  )  [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

void BTK::SharedVectorBase< MonomerType >::push_back const value_type x  )  [inline, protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

void BTK::SharedVectorBase< MonomerType >::reserve size_type  s  )  [inline, protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

void BTK::SharedVectorBase< MonomerType >::resize size_type  s  )  [inline, protected, inherited]
 

Replication of std::vector function (see std::vector documentation).

template<typename MonomerType>
void BTK::Polymer< MonomerType >::set_chain_id char  chain_id  )  [inline]
 

Here is the call graph for this function:

template<typename MonomerType>
void BTK::Polymer< MonomerType >::set_name const std::string &  name  )  [inline]
 

Here is the call graph for this function:

void BTK::SharedVectorBase< MonomerType >::shallow_copy const self_type source  )  [protected, inherited]
 

void BTK::SharedVectorBase< MonomerType >::shallow_insert iterator  pos,
const_iterator  first,
const_iterator  last
[inline, protected, inherited]
 

void BTK::SharedVectorBase< MonomerType >::shallow_push_back value_type x  )  [inline, protected, inherited]
 

size_type BTK::SharedVectorBase< MonomerType >::size  )  const [inline, inherited]
 

Replication of std::vector function (see std::vector documentation).

template<typename MonomerType>
void BTK::Polymer< MonomerType >::sync_molecule_to_monomers  )  [protected]
 

Create a molecule that contains a shared copy of the atoms in all monomers of this polymer.

Here is the call graph for this function:


The documentation for this class was generated from the following files:
Generated on Wed Apr 14 00:43:27 2004 for BTK by doxygen 1.3.6