13 #ifndef IMPCONTAINER_SINGLETONS_CONSTRAINT_H 
   14 #define IMPCONTAINER_SINGLETONS_CONSTRAINT_H 
   16 #include <IMP/container/container_config.h> 
   21 #include <IMP/internal/ContainerConstraint.h> 
   22 #include <cereal/access.hpp> 
   23 #include <cereal/types/base_class.hpp> 
   25 IMPKERNEL_BEGIN_NAMESPACE
 
   27 class SingletonContainer;
 
   28 class SingletonModifier;
 
   29 IMPKERNEL_END_NAMESPACE
 
   31 IMPCONTAINER_BEGIN_NAMESPACE
 
   42 #if defined(SWIG) || defined(IMP_DOXYGEN) 
   45     public IMP::internal::ContainerConstraint<
 
   46         SingletonModifier, SingletonModifier, SingletonContainer>
 
   49   typedef IMP::internal::ContainerConstraint<
 
   52   friend class cereal::access;
 
   53   template<
class Archive> 
void serialize(Archive &ar) {
 
   54     ar(cereal::base_class<P>(
this));
 
   69                        std::string name = 
"SingletonsConstraint %1%")
 
   70       : P(before, after, c, name) {}
 
   74 #if defined(IMP_DOXYGEN) || defined(SWIG) 
   76   void do_update_attributes();
 
   86 IMPCONTAINER_END_NAMESPACE
 
A base class for modifiers of ParticlesTemp. 
 
A Modifier on ParticlesTemp. 
 
Helper macros for implementing IMP Objects. 
 
Apply a SingletonFunction to a SingletonContainer to maintain an invariant. 
 
A container for Singletons. 
 
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object. 
 
A more IMP-like version of the std::vector. 
 
Implement a constraint on the Model. 
 
#define IMP_OBJECT_SERIALIZE_DECL(Name)
Declare methods needed for serialization of Object pointers. 
 
A shared container for Singletons. 
 
A base class for constraints. 
 
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers. 
 
virtual ModelObjectsTemp do_get_outputs() const =0
 
SingletonsConstraint(SingletonModifier *before, SingletonModifier *after, SingletonContainerAdaptor c, std::string name="SingletonsConstraint %1%")
 
virtual ModelObjectsTemp do_get_inputs() const =0
 
Class for adding derivatives from restraints to the model.