13 #ifndef DtConfigurationCollection_H_
14 #define DtConfigurationCollection_H_
17 #include <boost/serialization/split_member.hpp>
18 #include <boost/serialization/set.hpp>
23 template <
typename ConfigurationType>
29 typedef typename Configurations::iterator
iterator;
44 if(
this == ©)
return *
this;
56 friend class boost::serialization::access;
61 template<
class Archive>
62 void serialize(Archive & ar,
const unsigned int version)
69 virtual ConfigurationType&
add(
const ConfigurationType& orig)
73 for(;curIter != endIter;++curIter)
75 if((*curIter)->name() == orig.name())
77 DtTHROW_NEW(DtInvalidInput,
"A configuration with that name"
78 "already exists in the collection.");
82 ConfigurationType* newConfig =
new ConfigurationType(orig);
130 typename Configurations::const_iterator curIter = configs.begin();
131 typename Configurations::const_iterator endIter = configs.end();
132 for(;curIter != endIter;++curIter)
143 for(;curIter != endIter;++curIter)
156 for(;curIter != endIter;++curIter)
158 if((*curIter)->name() == name)
172 for(;curIter != endIter;++curIter)
174 if((*curIter)->name() == name)