IMP logo

IMP::container::TripletContainerSet Class Reference


Detailed Description

Stores a set of TripletContainers.

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

Inheritance graph
[legend]

Public Member Functions

void apply (const TripletModifier *sm, DerivativeAccumulator &da)
void apply (const TripletModifier *sm)
double evaluate (const TripletScore *s, DerivativeAccumulator *da) const
double evaluate_change (const TripletScore *s, DerivativeAccumulator *da) const
double evaluate_prechange (const TripletScore *s, DerivativeAccumulator *da) const
ParticlesTemp get_contained_particles () const
bool get_contained_particles_changed () const
bool get_contains_particle_triplet (const ParticleTriplet &p) const
ContainersTemp get_input_containers () const
unsigned int get_number_of_particle_triplets () const
ParticleTriplet get_particle_triplet (unsigned int i) const
virtual std::string get_type_name () const
virtual ::IMP::VersionInfo get_version_info () const
 TripletContainerSet (const TripletContainers &in, std::string name="TripletContainerSet %1%")
 TripletContainerSet (std::string name="TripletContainerSet %1%")
 Construct and empty set.

Static Public Member Functions

static TripletContainerSetcreate_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_triplet_container (TripletContainer *obj)
void add_triplet_containers (const TripletContainers &obj)
void clear_triplet_containers ()
bool get_has_triplet_containers () const
 return true if there are any objects in the container
unsigned int get_number_of_triplet_containers () const
TripletContainerget_triplet_container (unsigned int i) const
void remove_triplet_container (TripletContainer *d)
 Remove any occurences of d from the container.
void remove_triplet_containers (const TripletContainers &d)
 Remove any occurences of each item in d.
template<class F >
void remove_triplet_containers_if (const F &f)
 Remove any occurrences for which f is true.
void reserve_triplet_containers (unsigned int sz)
void set_triplet_containers (const TripletContainers &ps)
TripletContainerConstIterator triplet_containers_begin () const
TripletContainerIterator triplet_containers_begin ()
TripletContainerConstIterator triplet_containers_end () const
TripletContainerIterator triplet_containers_end ()

Friends

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

Member Function Documentation

unsigned int IMP::container::TripletContainerSet::add_triplet_container ( TripletContainer obj  ) 

Returns:
index of object within the object

void IMP::container::TripletContainerSet::add_triplet_containers ( const TripletContainers obj  ) 

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

TripletContainer* IMP::container::TripletContainerSet::get_triplet_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::TripletContainerSet::set_triplet_containers ( const TripletContainers 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:54 2010 for IMP by doxygen 1.5.8