IMP  2.0.1
The Integrative Modeling Platform
ListSingletonContainer.h
Go to the documentation of this file.
1 /**
2  * \file IMP/container/ListSingletonContainer.h
3  * \brief Store a list of ParticlesTemp
4  *
5  * WARNING This file was generated from ListSingletonContainer.h
6  * in /tmp/nightly-build-36540/imp-2.0.1/tools/build/container_templates/container
7  * by tools/maintenance/setup_containers.py.
8  *
9  * Copyright 2007-2013 IMP Inventors. All rights reserved.
10  */
11 
12 #ifndef IMPCONTAINER_LIST_SINGLETON_CONTAINER_H
13 #define IMPCONTAINER_LIST_SINGLETON_CONTAINER_H
14 
15 #include <IMP/container/container_config.h>
16 #include <IMP/internal/InternalListSingletonContainer.h>
17 
18 IMPCONTAINER_BEGIN_NAMESPACE
19 
20 //! Store a list of ParticlesTemp
21 /** \note The order can change when particles are inserted
22  as the list is maintained in sorted order.
23  */
24 class IMPCONTAINEREXPORT ListSingletonContainer:
25 #if defined(IMP_DOXYGEN) || defined(SWIG)
26 public SingletonContainer
27 #else
28 public IMP::kernel::internal::InternalListSingletonContainer
29 #endif
30 {
31  typedef IMP::kernel::internal::InternalListSingletonContainer P;
32 public:
34  const ParticleIndexes &contents,
35  std::string name= "ListSingletonContainer%1%");
36 
37  ListSingletonContainer(const ParticlesTemp &ps,
38  std::string name= "ListSingletonContainer%1%");
39 
40 
41  void set_particles(const ParticlesTemp &ps);
42  void set_particles(const ParticleIndexes &contents);
43 #ifndef IMP_DOXYGEN
45  std::string name= "ListSingletonContainer %1%");
46  ListSingletonContainer(Model *m, const char *name);
47 
48  void add_particle(Particle* vt);
49  void add_particles(const ParticlesTemp &c);
50  void clear_particles();
51 #endif
52 #ifdef SWIG
54 #endif
55 };
56 
57 IMP_OBJECTS(ListSingletonContainer,ListSingletonContainers);
58 
59 IMPCONTAINER_END_NAMESPACE
60 
61 #endif /* IMPCONTAINER_LIST_SINGLETON_CONTAINER_H */