00001 /** 00002 * \file TripletContainerSet.h 00003 * \brief Store a set of TripletContainers 00004 * 00005 * This file is generated by a script (core/tools/make-container). 00006 * Do not edit directly. 00007 * 00008 * Copyright 2007-2010 IMP Inventors. All rights reserved. 00009 */ 00010 00011 #ifndef IMPCONTAINER_TRIPLET_CONTAINER_SET_H 00012 #define IMPCONTAINER_TRIPLET_CONTAINER_SET_H 00013 00014 #include "container_config.h" 00015 #include <IMP/TripletContainer.h> 00016 #include <IMP/container_macros.h> 00017 00018 IMPCONTAINER_BEGIN_NAMESPACE 00019 00020 //! Stores a set of TripletContainers 00021 /** The input sets must be disjoint. This can change if there is 00022 demand for it. 00023 00024 \usesconstraint 00025 */ 00026 class IMPCONTAINEREXPORT TripletContainerSet 00027 : public TripletContainer 00028 { 00029 // to not have added and removed 00030 TripletContainerSet(bool); 00031 public: 00032 //! Construct and empty set 00033 TripletContainerSet(std::string name="TripletContainerSet %1%"); 00034 00035 TripletContainerSet(const TripletContainers &in, 00036 std::string name="TripletContainerSet %1%"); 00037 00038 IMP_TRIPLET_CONTAINER(TripletContainerSet); 00039 /** @name Methods to control the nested container 00040 00041 This container merges a set of nested containers. To add 00042 or remove nested containers, use the methods below. 00043 */ 00044 /**@{*/ 00045 IMP_LIST(public, TripletContainer, triplet_container, 00046 TripletContainer*, TripletContainers); 00047 /**@}*/ 00048 00049 static TripletContainerSet *create_untracked_container() { 00050 TripletContainerSet *lsc = new TripletContainerSet(false); 00051 return lsc; 00052 } 00053 }; 00054 00055 00056 IMPCONTAINER_END_NAMESPACE 00057 00058 #endif /* IMPCONTAINER_TRIPLET_CONTAINER_SET_H */