12 #ifndef IMPCONTAINER_LIST_SINGLETON_CONTAINER_H
13 #define IMPCONTAINER_LIST_SINGLETON_CONTAINER_H
15 #include <IMP/container/container_config.h>
17 #include <IMP/internal/StaticListContainer.h>
21 #include <cereal/access.hpp>
22 #include <cereal/types/base_class.hpp>
24 IMPCONTAINER_BEGIN_NAMESPACE
36 #if defined(IMP_DOXYGEN) || defined(SWIG)
39 public IMP::internal::StaticListContainer<SingletonContainer>
42 typedef IMP::internal::StaticListContainer<SingletonContainer> P;
46 std::string name =
"ListSingletonContainer%1%");
50 std::string name =
"ListSingletonContainer %1%");
55 #if defined(SWIG) || defined(IMP_DOXYGEN)
80 std::size_t do_get_contents_hash()
const;
84 friend class cereal::access;
86 template<
class Archive>
void serialize(Archive &ar) {
87 ar(cereal::base_class<P>(
this));
94 IMPCONTAINER_END_NAMESPACE
A base class for modifiers of ParticlesTemp.
A Modifier on ParticlesTemp.
Helper macros for implementing IMP Objects.
virtual ParticleIndexes get_indexes() const =0
A container for Singletons.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
virtual ParticleIndexes get_range_indexes() const =0
Class for storing model, its restraints, constraints, and particles.
Store a list of ParticleIndexes.
#define IMP_OBJECT_SERIALIZE_DECL(Name)
Declare methods needed for serialization of Object pointers.
A shared container for Singletons.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
virtual ParticleIndexes get_all_possible_indexes() const =0
Get contained particles.
virtual ModelObjectsTemp do_get_inputs() const =0