13 #ifndef IMPCONTAINER_SINGLETONS_CONSTRAINT_H
14 #define IMPCONTAINER_SINGLETONS_CONSTRAINT_H
16 #include <IMP/container/container_config.h>
21 #include <IMP/kernel/internal/ContainerConstraint.h>
23 IMPKERNEL_BEGIN_NAMESPACE
27 IMPKERNEL_END_NAMESPACE
29 IMPCONTAINER_BEGIN_NAMESPACE
40 #if defined(SWIG) || defined(IMP_DOXYGEN)
43 public IMP::kernel::internal::ContainerConstraint<
44 SingletonModifier, SingletonModifier, SingletonContainer>
47 typedef IMP::kernel::internal::ContainerConstraint<
59 SingletonContainerAdaptor c,
60 std::string name =
"SingletonConstraint %1%")
61 : P(before, after, c, name) {}
62 #if defined(IMP_DOXYGEN) || defined(SWIG)
64 void do_update_attributes();
74 IMPCONTAINER_END_NAMESPACE
Import IMP/kernel/SingletonModifier.h in the namespace.
Various general useful macros for IMP.
Class for adding derivatives from restraints to the model.
Apply a SingletonFunction to a SingletonContainer to maintain an invariant.
SingletonsConstraint(SingletonModifier *before, SingletonModifier *after, SingletonContainerAdaptor c, std::string name="SingletonConstraint %1%")
Import IMP/kernel/SingletonContainer.h in the namespace.
IMP::kernel::SingletonContainer SingletonContainer
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
A base class for modifiers of kernel::ParticlesTemp.
IMP::kernel::SingletonModifier SingletonModifier
Import IMP/kernel/Constraint.h in the namespace.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
Implement a constraint on the Model.
A shared container for Singletons.