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>
23 IMPKERNEL_BEGIN_NAMESPACE
25 class SingletonContainer;
26 class SingletonModifier;
27 IMPKERNEL_END_NAMESPACE
29 IMPCONTAINER_BEGIN_NAMESPACE
40 #if defined(SWIG) || defined(IMP_DOXYGEN)
43 public IMP::internal::ContainerConstraint<
44 SingletonModifier, SingletonModifier, SingletonContainer>
47 typedef IMP::internal::ContainerConstraint<
60 std::string name =
"SingletonsConstraint %1%")
61 : P(before, after, c, name) {}
62 #if defined(IMP_DOXYGEN) || defined(SWIG)
64 void do_update_attributes();
74 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.
A shared container for Singletons.
A base class for constraints.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
SingletonsConstraint(SingletonModifier *before, SingletonModifier *after, SingletonContainerAdaptor c, std::string name="SingletonsConstraint %1%")
Class for adding derivatives from restraints to the model.