IMP  2.0.1
The Integrative Modeling Platform
IMP::kernel::SingletonContainer Class Referenceabstract

A shared container for Singletons. More...

#include "IMP/kernel/SingletonContainer.h"

+ Inheritance diagram for IMP::kernel::SingletonContainer:

Public Types

typedef ParticleIndex ContainedIndexType
 
typedef ParticleIndexes ContainedIndexTypes
 
typedef ParticleContainedType
 
typedef ParticlesTemp ContainedTypes
 

Public Member Functions

void apply (const SingletonModifier *sm) const
 Apply a SingletonModifier to the contents.
 
void apply_generic (const SingletonModifier *m) const
 Just use apply() in the base class.
 
bool get_contains_particle (Particle *v) const
 This function is very slow and you should think hard about using it. More...
 
virtual ParticleIndexes get_indexes () const =0
 
unsigned int get_number_of_particles () const
 
Particleget_particle (unsigned int i) const
 
ParticlesTemp get_particles () const
 
virtual ParticleIndexes get_range_indexes () const =0
 
- Public Member Functions inherited from IMP::kernel::Container
virtual void do_after_evaluate (DerivativeAccumulator *accpt)
 Reset changed status.
 
ModelObjectsTemp do_get_outputs () const
 containers don't have outputs
 
virtual ParticleIndexes get_all_possible_indexes () const =0
 Get contained particles. More...
 
ParticlesTemp get_all_possible_particles () const
 
bool get_is_changed () const
 
virtual bool get_is_decomposable () const
 
- Public Member Functions inherited from IMP::kernel::ScoreState
 ScoreState (Model *m, std::string name="ScoreState %1%")
 
void after_evaluate (DerivativeAccumulator *accpt)
 Do post evaluation work if needed.
 
void before_evaluate ()
 Force update of the structure.
 
ContainersTemp get_input_containers () const
 
ParticlesTemp get_input_particles () const
 
ContainersTemp get_output_containers () const
 
ParticlesTemp get_output_particles () const
 
- Public Member Functions inherited from IMP::kernel::ModelObject
 ModelObject (Model *m, std::string name)
 
ModelObjectsTemp get_inputs () const
 
ModelObjectsTemps get_interactions () const
 
Modelget_model () const
 
ModelObjectsTemp get_outputs () const
 
- Public Member Functions inherited from IMP::base::Object
virtual void clear_caches ()
 
virtual IMP::base::VersionInfo get_version_info () const =0
 Get information about the module and version of the object.
 
void set_check_level (CheckLevel l)
 
void set_log_level (LogLevel l)
 Set the logging level used in this object. More...
 
void set_was_used (bool tf) const
 
void show (std::ostream &out=std::cout) const
 
const std::string & get_name () const
 
void set_name (std::string name)
 

Protected Member Functions

 SingletonContainer (Model *m, std::string name="SingletonContainer %1%")
 
virtual void do_apply (const SingletonModifier *sm) const =0
 
virtual bool do_get_provides_access () const
 
- Protected Member Functions inherited from IMP::kernel::Container
 Container (Model *m, std::string name="Container %1%")
 
void set_is_changed (bool tf)
 This will be reset at the end of evaluate.
 
- Protected Member Functions inherited from IMP::kernel::ScoreState
virtual void do_before_evaluate ()=0
 
virtual void do_update_dependencies ()
 
- Protected Member Functions inherited from IMP::kernel::ModelObject
virtual ModelObjectsTemp do_get_inputs () const =0
 
virtual ModelObjectsTemps do_get_interactions () const
 
virtual void update_dependencies ()
 
- Protected Member Functions inherited from IMP::base::Object
 Object (std::string name)
 Construct an object with the given name. More...
 

Related Functions

(Note that these are not member functions.)

typedef IMP::base::Vector
< IMP::base::WeakPointer
< SingletonContainer > > 
SingletonContainersTemp
 

Detailed Description

Stores a searchable shared collection of Singletons.

Implementors
Developers who wish to implement a SingletonContainer should inherit from this class and use the IMP_SINGLETON_CONTAINER() macro to help define the needed functions. Lamentably, we do not provide an example.

Definition at line 41 of file kernel/declare_SingletonContainer.h.

Member Function Documentation

bool IMP::kernel::SingletonContainer::get_contains_particle ( Particle v) const
Deprecated:
This is slow and dependent on the order of elements in the tuple.

Return whether the container has the given element.

virtual ParticleIndexes IMP::kernel::SingletonContainer::get_indexes ( ) const
pure virtual

Get all the indexes contained in the container.

unsigned int IMP::kernel::SingletonContainer::get_number_of_particles ( ) const
Deprecated:
This can be very slow and is probably not useful
Particle* IMP::kernel::SingletonContainer::get_particle ( unsigned int  i) const
Deprecated:
Use indexes instead and thing about using the IMP_CONTAINER_FOREACH() macro.
ParticlesTemp IMP::kernel::SingletonContainer::get_particles ( ) const

Use this for debugging only.

virtual ParticleIndexes IMP::kernel::SingletonContainer::get_range_indexes ( ) const
pure virtual

Get all the indexes that might possibly be contained in the container, useful with dynamic containers. For example, with a container::ClosePairContainer, this is the list of all pairs taken from input list (those that are far apart in addition to those that are close).

Friends And Related Function Documentation

Pass a set of objects.

Definition at line 86 of file kernel/base_types.h.


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