IMP logo

IMP::container::PairContainerSet Class Reference


Detailed Description

Stores a set of PairContainers.

The input sets must be disjoint. This can change if there is demand for it.

Note:
The maintenance of the invariant is done by an associated IMP::Constraint. As a result, the state is only guaranteed to be correct either during model evaluation, or immediately following model evaluation before any particles have been changed.
Inheritance diagram for IMP::container::PairContainerSet:

Inheritance graph
[legend]

Public Member Functions

void apply (const PairModifier *sm, DerivativeAccumulator &da)
void apply (const PairModifier *sm)
double evaluate (const PairScore *s, DerivativeAccumulator *da) const
double evaluate_change (const PairScore *s, DerivativeAccumulator *da) const
double evaluate_prechange (const PairScore *s, DerivativeAccumulator *da) const
ParticlesTemp get_contained_particles () const
bool get_contained_particles_changed () const
bool get_contains_particle_pair (const ParticlePair &p) const
ContainersTemp get_input_containers () const
unsigned int get_number_of_particle_pairs () const
ParticlePair get_particle_pair (unsigned int i) const
virtual std::string get_type_name () const
virtual ::IMP::VersionInfo get_version_info () const
 PairContainerSet (const PairContainers &in, std::string name="PairContainerSet %1%")
 PairContainerSet (std::string name="PairContainerSet %1%")
 Construct and empty set.

Static Public Member Functions

static PairContainerSetcreate_untracked_container ()

Methods to control the nested container

This container merges a set of nested containers. To add or remove nested containers, use the methods below.

unsigned int add_pair_container (PairContainer *obj)
void add_pair_containers (const PairContainers &obj)
void clear_pair_containers ()
bool get_has_pair_containers () const
 return true if there are any objects in the container
unsigned int get_number_of_pair_containers () const
PairContainerget_pair_container (unsigned int i) const
PairContainerConstIterator pair_containers_begin () const
PairContainerIterator pair_containers_begin ()
PairContainerConstIterator pair_containers_end () const
PairContainerIterator pair_containers_end ()
void remove_pair_container (PairContainer *d)
 Remove any occurences of d from the container.
void remove_pair_containers (const PairContainers &d)
 Remove any occurences of each item in d.
template<class F >
void remove_pair_containers_if (const F &f)
 Remove any occurrences for which f is true.
void reserve_pair_containers (unsigned int sz)
void set_pair_containers (const PairContainers &ps)

Friends

template<class T >
void IMP::internal::unref (T *)

Member Function Documentation

unsigned int IMP::container::PairContainerSet::add_pair_container ( PairContainer obj  ) 

Returns:
index of object within the object

void IMP::container::PairContainerSet::add_pair_containers ( const PairContainers obj  ) 

Add several objects to the container. They are not necessarily added at the end.

PairContainer* IMP::container::PairContainerSet::get_pair_container ( unsigned int  i  )  const

Get the object refered to by the index

Exceptions:
IndexException in Python if the index is out of range

void IMP::container::PairContainerSet::set_pair_containers ( const PairContainers ps  ) 

Set the contents of the container to ps removing all its current contents.


The documentation for this class was generated from the following files:

Generated on Mon Mar 8 23:08:53 2010 for IMP by doxygen 1.5.8