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)
const_iterator begin() const
Definition: DtConfigurationCollection.h:115
virtual ~DtConfigurationCollection()
Definition: DtConfigurationCollection.h:50
Configurations::iterator iterator
Definition: DtConfigurationCollection.h:29
const Configurations & configurations() const
Get the channels for this window.
Definition: DtConfigurationCollection.h:122
std::vector< ConfigurationType * > Configurations
Definition: DtConfigurationCollection.h:27
DtConfigurationCollection()
Definition: DtConfigurationCollection.h:32
virtual const ConfigurationType * findConfiguration(const std::string &name) const
Return the configuration associated with name or null if one doesn't exist.
Definition: DtConfigurationCollection.h:168
void serialize(Archive &ar, const unsigned int version)
When the class Archive corresponds to an output archive, the & operator is defined similar to <<...
Definition: DtConfigurationCollection.h:62
virtual void destroyConfiguration(ConfigurationType *config)
Destroys a Channel configuration.
Definition: DtConfigurationCollection.h:100
DtConfigurationCollection & operator=(const DtConfigurationCollection ©)
Definition: DtConfigurationCollection.h:42
void destroyAll()
Destroys all channel configurations.
Definition: DtConfigurationCollection.h:139
A collection of configurations.
Definition: DtConfigurationCollection.h:24
iterator begin()
Definition: DtConfigurationCollection.h:114
virtual ConfigurationType * findConfiguration(const std::string &name)
Return the configuration associated with name or null if one doesn't exist.
Definition: DtConfigurationCollection.h:152
iterator end()
Definition: DtConfigurationCollection.h:117
size_t size() const
Definition: DtConfigurationCollection.h:112
Configurations::const_iterator const_iterator
Definition: DtConfigurationCollection.h:30
void addConfigurations(const Configurations &configs)
Add several configurations.
Definition: DtConfigurationCollection.h:128
#define DT_SERIALIZE_MEMBER(NAME)
Serialize a Member whose name starts with 'my' If your member does not have that name, use Dt_SERIALIZE.
Definition: DtSerialize.h:161
virtual ConfigurationType & add(const ConfigurationType &orig)
Add a Channel configuration.
Definition: DtConfigurationCollection.h:69
DtConfigurationCollection(const DtConfigurationCollection ©)
Definition: DtConfigurationCollection.h:36
Configurations myConfigurations
Definition: DtConfigurationCollection.h:184
const_iterator end() const
Definition: DtConfigurationCollection.h:118