34
35
WPXMapImpl() : m_map() {}
36
37
void insert(const char *name, WPXProperty *property);
37
const WPXProperty * operator[](const char *name) const;
38
const WPXProperty *operator[](const char *name) const;
38
39
void remove(const char *name);
47
48
WPXMapImpl::~WPXMapImpl()
49
50
for (std::map<std::string, WPXProperty *>::iterator iter = m_map.begin();
51
iter++) { delete iter->second; }
54
const WPXProperty * WPXMapImpl::operator[](const char *name) const
58
const WPXProperty *WPXMapImpl::operator[](const char *name) const
56
60
std::map<std::string, WPXProperty *>::iterator i = m_map.find(name);
57
if (i != m_map.end()) {
64
69
void WPXMapImpl::insert(const char *name, WPXProperty *prop)
66
71
std::map<std::string, WPXProperty *>::iterator i = m_map.lower_bound(name);
67
if (i != m_map.end() && !(m_map.key_comp()(name, i->first))) {
72
if (i != m_map.end() && !(m_map.key_comp()(name, i->first)))
68
74
WPXProperty *tmpProp = i->second;
109
119
WPXPropertyList::~WPXPropertyList()
111
121
delete m_mapImpl;
114
void WPXPropertyList::insert(const char * name, WPXProperty *prop)
116
m_mapImpl->insert(name, prop);
124
void WPXPropertyList::insert(const char *name, WPXProperty *prop)
126
m_mapImpl->insert(name, prop);
119
void WPXPropertyList::insert(const char * name, const int val)
129
void WPXPropertyList::insert(const char *name, const int val)
121
131
m_mapImpl->insert(name, WPXPropertyFactory::newIntProp(val));
124
void WPXPropertyList::insert(const char * name, const bool val)
134
void WPXPropertyList::insert(const char *name, const bool val)
126
136
m_mapImpl->insert(name, WPXPropertyFactory::newBoolProp(val));
129
void WPXPropertyList::insert(const char * name, const char *val)
131
m_mapImpl->insert(name, WPXPropertyFactory::newStringProp(val));
134
void WPXPropertyList::insert(const char * name, const WPXString &val)
136
m_mapImpl->insert(name, WPXPropertyFactory::newStringProp(val));
139
void WPXPropertyList::insert(const char * name, const double val, const WPXUnit units)
139
void WPXPropertyList::insert(const char *name, const char *val)
141
m_mapImpl->insert(name, WPXPropertyFactory::newStringProp(val));
144
void WPXPropertyList::insert(const char *name, const WPXString &val)
146
m_mapImpl->insert(name, WPXPropertyFactory::newStringProp(val));
149
void WPXPropertyList::insert(const char *name, const double val, const WPXUnit units)
141
151
if (units == WPX_INCH)
142
152
m_mapImpl->insert(name, WPXPropertyFactory::newInchProp(val));
143
153
else if (units == WPX_PERCENT)
144
154
m_mapImpl->insert(name, WPXPropertyFactory::newPercentProp(val));
145
else if (units == WPX_POINT)
155
else if (units == WPX_POINT)
146
156
m_mapImpl->insert(name, WPXPropertyFactory::newPointProp(val));
147
157
else if (units == WPX_TWIP)
148
158
m_mapImpl->insert(name, WPXPropertyFactory::newTwipProp(val));
150
160
m_mapImpl->insert(name, WPXPropertyFactory::newDoubleProp(val));
153
void WPXPropertyList::remove(const char * name)
163
void WPXPropertyList::remove(const char *name)
155
165
m_mapImpl->remove(name);
158
const WPXPropertyList& WPXPropertyList::operator=(const WPXPropertyList& propList)
168
const WPXPropertyList &WPXPropertyList::operator=(const WPXPropertyList &propList)
161
171
WPXPropertyList::Iter i(propList);
162
172
for (i.rewind(); i.next(); )
203
213
void WPXMapIterImpl::rewind()
205
// rewind to an imaginary element that preceeds the first one
206
m_imaginaryFirst = true;
207
m_iter = m_map->begin();
215
// rewind to an imaginary element that preceeds the first one
216
m_imaginaryFirst = true;
217
m_iter = m_map->begin();
210
220
bool WPXMapIterImpl::next()
212
if (!m_imaginaryFirst)
214
if (m_iter==m_map->end())
216
m_imaginaryFirst = false;
222
if (!m_imaginaryFirst)
224
if (m_iter==m_map->end())
226
m_imaginaryFirst = false;
221
231
bool WPXMapIterImpl::last()
223
if (m_iter == m_map->end())
233
if (m_iter == m_map->end())
229
const WPXProperty * WPXMapIterImpl::operator()() const
239
const WPXProperty *WPXMapIterImpl::operator()() const
231
241
return m_iter->second;
234
const char * WPXMapIterImpl::key()
244
const char *WPXMapIterImpl::key()
236
246
return m_iter->first.c_str();
244
WPXPropertyList::Iter::~Iter()
254
WPXPropertyList::Iter::~Iter()
246
256
delete m_iterImpl;
249
259
void WPXPropertyList::Iter::rewind()
251
261
// rewind to an imaginary element that preceeds the first one
252
262
m_iterImpl->rewind();
255
265
bool WPXPropertyList::Iter::next()
257
267
return m_iterImpl->next();
262
272
return m_iterImpl->last();
265
const WPXProperty * WPXPropertyList::Iter::operator()() const
275
const WPXProperty *WPXPropertyList::Iter::operator()() const
267
277
return (*m_iterImpl)();
270
const char * WPXPropertyList::Iter::key()
280
const char *WPXPropertyList::Iter::key()
272
282
return m_iterImpl->key();
284
/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */