00001 /** 00002 * \file PairContainerSet.h 00003 * \brief Store a set of PairContainers 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_PAIR_CONTAINER_SET_H 00012 #define IMPCONTAINER_PAIR_CONTAINER_SET_H 00013 00014 #include "container_config.h" 00015 #include <IMP/PairContainer.h> 00016 #include <IMP/container_macros.h> 00017 00018 IMPCONTAINER_BEGIN_NAMESPACE 00019 00020 //! Stores a set of PairContainers 00021 /** The input sets must be disjoint. This can change if there is 00022 demand for it. 00023 00024 \usesconstraint 00025 */ 00026 class IMPCONTAINEREXPORT PairContainerSet 00027 : public PairContainer 00028 { 00029 // to not have added and removed 00030 PairContainerSet(bool); 00031 public: 00032 //! Construct and empty set 00033 PairContainerSet(std::string name="PairContainerSet %1%"); 00034 00035 PairContainerSet(const PairContainers &in, 00036 std::string name="PairContainerSet %1%"); 00037 00038 IMP_PAIR_CONTAINER(PairContainerSet); 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, PairContainer, pair_container, 00046 PairContainer*, PairContainers); 00047 /**@}*/ 00048 00049 static PairContainerSet *create_untracked_container() { 00050 PairContainerSet *lsc = new PairContainerSet(false); 00051 return lsc; 00052 } 00053 }; 00054 00055 00056 IMPCONTAINER_END_NAMESPACE 00057 00058 #endif /* IMPCONTAINER_PAIR_CONTAINER_SET_H */