IMP logo

IMP::container::QuadContainerSet Class Reference


Detailed Description

Stores a set of QuadContainers.

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::QuadContainerSet:

Inheritance graph
[legend]

Public Member Functions

void apply (const QuadModifier *sm, DerivativeAccumulator &da)
void apply (const QuadModifier *sm)
double evaluate (const QuadScore *s, DerivativeAccumulator *da) const
double evaluate_change (const QuadScore *s, DerivativeAccumulator *da) const
double evaluate_prechange (const QuadScore *s, DerivativeAccumulator *da) const
ParticlesTemp get_contained_particles () const
bool get_contained_particles_changed () const
bool get_contains_particle_quad (const ParticleQuad &p) const
ContainersTemp get_input_containers () const
unsigned int get_number_of_particle_quads () const
ParticleQuad get_particle_quad (unsigned int i) const
virtual std::string get_type_name () const
virtual ::IMP::VersionInfo get_version_info () const
 QuadContainerSet (const QuadContainers &in, std::string name="QuadContainerSet %1%")
 QuadContainerSet (std::string name="QuadContainerSet %1%")
 Construct and empty set.

Static Public Member Functions

static QuadContainerSetcreate_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_quad_container (QuadContainer *obj)
void add_quad_containers (const QuadContainers &obj)
void clear_quad_containers ()
bool get_has_quad_containers () const
 return true if there are any objects in the container
unsigned int get_number_of_quad_containers () const
QuadContainerget_quad_container (unsigned int i) const
QuadContainerConstIterator quad_containers_begin () const
QuadContainerIterator quad_containers_begin ()
QuadContainerConstIterator quad_containers_end () const
QuadContainerIterator quad_containers_end ()
void remove_quad_container (QuadContainer *d)
 Remove any occurences of d from the container.
void remove_quad_containers (const QuadContainers &d)
 Remove any occurences of each item in d.
template<class F >
void remove_quad_containers_if (const F &f)
 Remove any occurrences for which f is true.
void reserve_quad_containers (unsigned int sz)
void set_quad_containers (const QuadContainers &ps)

Friends

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

Member Function Documentation

unsigned int IMP::container::QuadContainerSet::add_quad_container ( QuadContainer obj  ) 

Returns:
index of object within the object

void IMP::container::QuadContainerSet::add_quad_containers ( const QuadContainers obj  ) 

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

QuadContainer* IMP::container::QuadContainerSet::get_quad_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::QuadContainerSet::set_quad_containers ( const QuadContainers 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