10 #ifndef DtConfigurationCollection_H_
11 #define DtConfigurationCollection_H_
14 #include <boost/serialization/split_member.hpp>
15 #include <boost/serialization/set.hpp>
20 template <
typename ConfigurationType>
26 typedef typename Configurations::iterator
iterator;
41 if(
this == ©)
return *
this;
53 friend class boost::serialization::access;
58 template<
class Archive>
59 void serialize(Archive & ar,
const unsigned int version)
66 virtual ConfigurationType&
add(
const ConfigurationType& orig)
70 for(;curIter != endIter;++curIter)
72 if((*curIter)->name() == orig.name())
74 DtTHROW_NEW(DtInvalidInput,
"A configuration with that name"
75 "already exists in the collection.");
79 ConfigurationType* newConfig =
new ConfigurationType(orig);
127 typename Configurations::const_iterator curIter = configs.begin();
128 typename Configurations::const_iterator endIter = configs.end();
129 for(;curIter != endIter;++curIter)
140 for(;curIter != endIter;++curIter)
153 for(;curIter != endIter;++curIter)
155 if((*curIter)->name() == name)
169 for(;curIter != endIter;++curIter)
171 if((*curIter)->name() == name)
const_iterator begin() const
Definition: DtConfigurationCollection.h:112
virtual ~DtConfigurationCollection()
Definition: DtConfigurationCollection.h:47
Configurations::iterator iterator
Definition: DtConfigurationCollection.h:26
const Configurations & configurations() const
Get the channels for this window.
Definition: DtConfigurationCollection.h:119
std::vector< ConfigurationType * > Configurations
Definition: DtConfigurationCollection.h:24
DtConfigurationCollection()
Definition: DtConfigurationCollection.h:29
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:165
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:59
virtual void destroyConfiguration(ConfigurationType *config)
Destroys a Channel configuration. Now the pointer must be a member of the channel Configuration...
Definition: DtConfigurationCollection.h:97
DtConfigurationCollection & operator=(const DtConfigurationCollection ©)
Definition: DtConfigurationCollection.h:39
void destroyAll()
Destroys all channel configurations.
Definition: DtConfigurationCollection.h:136
A collection of configurations.
Definition: DtConfigurationCollection.h:21
iterator begin()
Definition: DtConfigurationCollection.h:111
virtual ConfigurationType * findConfiguration(const std::string &name)
Return the configuration associated with name or null if one doesn't exist.
Definition: DtConfigurationCollection.h:149
iterator end()
Definition: DtConfigurationCollection.h:114
size_t size() const
Definition: DtConfigurationCollection.h:109
Configurations::const_iterator const_iterator
Definition: DtConfigurationCollection.h:27
void addConfigurations(const Configurations &configs)
Add several configurations.
Definition: DtConfigurationCollection.h:125
#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:158
virtual ConfigurationType & add(const ConfigurationType &orig)
Add a Channel configuration.
Definition: DtConfigurationCollection.h:66
DtConfigurationCollection(const DtConfigurationCollection ©)
Definition: DtConfigurationCollection.h:33
Configurations myConfigurations
Definition: DtConfigurationCollection.h:181
const_iterator end() const
Definition: DtConfigurationCollection.h:115