summaryrefslogtreecommitdiff
path: root/cpp/include/Freeze/Map.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include/Freeze/Map.h')
-rw-r--r--cpp/include/Freeze/Map.h776
1 files changed, 388 insertions, 388 deletions
diff --git a/cpp/include/Freeze/Map.h b/cpp/include/Freeze/Map.h
index 2f26699caec..1c7e61c2add 100644
--- a/cpp/include/Freeze/Map.h
+++ b/cpp/include/Freeze/Map.h
@@ -89,12 +89,12 @@ public:
static MapHelper*
create(const Freeze::ConnectionPtr& connection,
- const std::string& dbName,
- const std::string& key,
- const std::string& value,
- const KeyCompareBasePtr&,
- const std::vector<MapIndexBasePtr>&,
- bool createDb);
+ const std::string& dbName,
+ const std::string& key,
+ const std::string& value,
+ const KeyCompareBasePtr&,
+ const std::vector<MapIndexBasePtr>&,
+ bool createDb);
virtual ~MapHelper() = 0;
@@ -167,10 +167,10 @@ public:
// Forward declaration
//
template <typename key_type, typename mapped_type,
- typename KeyCodec, typename ValueCodec, typename Compare>
+ typename KeyCodec, typename ValueCodec, typename Compare>
class Map;
template <typename key_type, typename mapped_type,
- typename KeyCodec, typename ValueCodec, typename Compare>
+ typename KeyCodec, typename ValueCodec, typename Compare>
class ConstIterator;
//
@@ -193,7 +193,7 @@ struct IteratorBase
// necessary.
//
template<typename key_type, typename mapped_type,
- typename KeyCodec, typename ValueCodec, typename Compare>
+ typename KeyCodec, typename ValueCodec, typename Compare>
class Iterator : public IteratorBase
{
public:
@@ -207,16 +207,16 @@ public:
typedef value_type& reference;
Iterator(MapHelper& mapHelper, const Ice::CommunicatorPtr& communicator) :
- _helper(IteratorHelper::create(mapHelper, false)),
- _communicator(communicator),
- _refValid(false)
+ _helper(IteratorHelper::create(mapHelper, false)),
+ _communicator(communicator),
+ _refValid(false)
{
}
Iterator(IteratorHelper* helper, const Ice::CommunicatorPtr& communicator) :
- _helper(helper),
- _communicator(communicator),
- _refValid(false)
+ _helper(helper),
+ _communicator(communicator),
+ _refValid(false)
{
}
@@ -226,32 +226,32 @@ public:
}
Iterator(const Iterator& rhs) :
- _communicator(rhs._communicator),
+ _communicator(rhs._communicator),
_refValid(false)
{
- if(rhs._helper.get() != 0)
- {
- _helper.reset(rhs._helper->clone());
- }
+ if(rhs._helper.get() != 0)
+ {
+ _helper.reset(rhs._helper->clone());
+ }
}
Iterator& operator=(const Iterator& rhs)
{
- if(this != &rhs)
- {
- if(rhs._helper.get() != 0)
- {
- _helper.reset(rhs._helper->clone());
- }
- else
- {
- _helper.reset();
- }
- _communicator = rhs._communicator;
- _refValid = false;
- }
+ if(this != &rhs)
+ {
+ if(rhs._helper.get() != 0)
+ {
+ _helper.reset(rhs._helper->clone());
+ }
+ else
+ {
+ _helper.reset();
+ }
+ _communicator = rhs._communicator;
+ _refValid = false;
+ }
- return *this;
+ return *this;
}
~Iterator()
@@ -260,40 +260,40 @@ public:
bool operator==(const Iterator& rhs) const
{
- if(_helper.get() == rhs._helper.get())
- {
- return true;
- }
-
- if(_helper.get() != 0 && rhs._helper.get() != 0)
- {
- const Key* lhsKey = _helper->get();
- const Key* rhsKey = rhs._helper->get();
-
- if(lhsKey != 0 && rhsKey != 0)
- {
- return *lhsKey == *rhsKey;
- }
- }
- return false;
+ if(_helper.get() == rhs._helper.get())
+ {
+ return true;
+ }
+
+ if(_helper.get() != 0 && rhs._helper.get() != 0)
+ {
+ const Key* lhsKey = _helper->get();
+ const Key* rhsKey = rhs._helper->get();
+
+ if(lhsKey != 0 && rhsKey != 0)
+ {
+ return *lhsKey == *rhsKey;
+ }
+ }
+ return false;
}
bool operator!=(const Iterator& rhs) const
{
- return !(*this == rhs);
+ return !(*this == rhs);
}
Iterator& operator++()
{
- incr();
- return *this;
+ incr();
+ return *this;
}
Iterator operator++(int)
{
- Iterator tmp = *this;
- incr();
- return tmp;
+ Iterator tmp = *this;
+ incr();
+ return tmp;
}
//
@@ -321,7 +321,7 @@ public:
_refValid = true;
}
- return _ref;
+ return _ref;
}
value_type* operator->() { return &(operator*()); }
@@ -331,11 +331,11 @@ public:
//
void set(const mapped_type& value)
{
- assert(_helper.get());
+ assert(_helper.get());
- Value v;
- ValueCodec::write(value, v, _communicator);
- _helper->set(v);
+ Value v;
+ ValueCodec::write(value, v, _communicator);
+ _helper->set(v);
_refValid = false;
}
@@ -343,36 +343,36 @@ private:
void incr()
{
- assert(_helper.get() != 0);
- if(!_helper->next())
- {
- //
- // The iterator has been moved past the end, and is now
- // invalid.
- //
- _helper.reset();
- }
+ assert(_helper.get() != 0);
+ if(!_helper->next())
+ {
+ //
+ // The iterator has been moved past the end, and is now
+ // invalid.
+ //
+ _helper.reset();
+ }
_refValid = false;
}
void getCurrentValue(key_type& key, mapped_type& value) const
{
- assert(_helper.get() != 0);
+ assert(_helper.get() != 0);
- const Key* k = 0;
- const Value* v = 0;
- _helper->get(k, v);
- assert(k != 0);
- assert(v != 0);
+ const Key* k = 0;
+ const Value* v = 0;
+ _helper->get(k, v);
+ assert(k != 0);
+ assert(v != 0);
- KeyCodec::read(key, *k, _communicator);
- ValueCodec::read(value, *v, _communicator);
+ KeyCodec::read(key, *k, _communicator);
+ ValueCodec::read(value, *v, _communicator);
}
friend class ConstIterator<key_type, mapped_type,
- KeyCodec, ValueCodec, Compare>;
+ KeyCodec, ValueCodec, Compare>;
friend class Map<key_type, mapped_type,
- KeyCodec, ValueCodec, Compare>;
+ KeyCodec, ValueCodec, Compare>;
std::auto_ptr<IteratorHelper> _helper;
Ice::CommunicatorPtr _communicator;
@@ -395,7 +395,7 @@ private:
// See Iterator comments for design notes
//
template <typename key_type, typename mapped_type,
- typename KeyCodec, typename ValueCodec, typename Compare>
+ typename KeyCodec, typename ValueCodec, typename Compare>
class ConstIterator : public IteratorBase
{
public:
@@ -409,16 +409,16 @@ public:
typedef value_type& reference;
ConstIterator(MapHelper& mapHelper, const Ice::CommunicatorPtr& communicator) :
- _helper(IteratorHelper::create(mapHelper, true)),
- _communicator(_communicator),
- _refValid(false)
+ _helper(IteratorHelper::create(mapHelper, true)),
+ _communicator(_communicator),
+ _refValid(false)
{
}
ConstIterator(IteratorHelper* helper, const Ice::CommunicatorPtr& communicator) :
- _helper(helper),
- _communicator(communicator),
- _refValid(false)
+ _helper(helper),
+ _communicator(communicator),
+ _refValid(false)
{
}
@@ -428,13 +428,13 @@ public:
}
ConstIterator(const ConstIterator& rhs) :
- _communicator(rhs._communicator),
+ _communicator(rhs._communicator),
_refValid(false)
{
- if(rhs._helper.get() != 0)
- {
- _helper.reset(rhs._helper->clone());
- }
+ if(rhs._helper.get() != 0)
+ {
+ _helper.reset(rhs._helper->clone());
+ }
}
//
@@ -442,53 +442,53 @@ public:
// vice versa) - same for operator=.
//
ConstIterator(const Iterator<key_type, mapped_type,
- KeyCodec, ValueCodec, Compare>& rhs) :
+ KeyCodec, ValueCodec, Compare>& rhs) :
_refValid(false)
{
- if(rhs._helper.get() != 0)
- {
- _helper.reset(rhs._helper->clone());
- }
- _communicator = rhs._communicator;
+ if(rhs._helper.get() != 0)
+ {
+ _helper.reset(rhs._helper->clone());
+ }
+ _communicator = rhs._communicator;
}
ConstIterator& operator=(const ConstIterator& rhs)
{
- if(this != &rhs)
- {
- if(rhs._helper.get() != 0)
- {
- _helper.reset(rhs._helper->clone());
- }
- else
- {
- _helper.reset();
- }
- _communicator = rhs._communicator;
- _refValid = false;
- }
+ if(this != &rhs)
+ {
+ if(rhs._helper.get() != 0)
+ {
+ _helper.reset(rhs._helper->clone());
+ }
+ else
+ {
+ _helper.reset();
+ }
+ _communicator = rhs._communicator;
+ _refValid = false;
+ }
- return *this;
+ return *this;
}
//
// Create const_iterator from iterator.
//
ConstIterator& operator=(const Iterator<key_type, mapped_type,
- KeyCodec, ValueCodec, Compare>& rhs)
- {
- if(rhs._helper.get() != 0)
- {
- _helper.reset(rhs._helper->clone());
- }
- else
- {
- _helper.reset();
- }
- _communicator = rhs._communicator;
+ KeyCodec, ValueCodec, Compare>& rhs)
+ {
+ if(rhs._helper.get() != 0)
+ {
+ _helper.reset(rhs._helper->clone());
+ }
+ else
+ {
+ _helper.reset();
+ }
+ _communicator = rhs._communicator;
_refValid = false;
- return *this;
+ return *this;
}
~ConstIterator()
@@ -497,40 +497,40 @@ public:
bool operator==(const ConstIterator& rhs)
{
- if(_helper.get() == rhs._helper.get())
- {
- return true;
- }
-
- if(_helper.get() != 0 && rhs._helper.get() != 0)
- {
- const Key* lhsKey = _helper->get();
- const Key* rhsKey = rhs._helper->get();
-
- if(lhsKey != 0 && rhsKey != 0)
- {
- return *lhsKey == *rhsKey;
- }
- }
- return false;
+ if(_helper.get() == rhs._helper.get())
+ {
+ return true;
+ }
+
+ if(_helper.get() != 0 && rhs._helper.get() != 0)
+ {
+ const Key* lhsKey = _helper->get();
+ const Key* rhsKey = rhs._helper->get();
+
+ if(lhsKey != 0 && rhsKey != 0)
+ {
+ return *lhsKey == *rhsKey;
+ }
+ }
+ return false;
}
bool operator!=(const ConstIterator& rhs)
{
- return !(*this == rhs);
+ return !(*this == rhs);
}
ConstIterator& operator++()
{
- incr();
- return *this;
+ incr();
+ return *this;
}
ConstIterator operator++(int)
{
- ConstIterator tmp = *this;
- incr();
- return tmp;
+ ConstIterator tmp = *this;
+ incr();
+ return tmp;
}
//
@@ -558,7 +558,7 @@ public:
_refValid = true;
}
- return _ref;
+ return _ref;
}
pointer operator->() const { return &(operator*()); }
@@ -567,34 +567,34 @@ private:
void incr()
{
- assert(_helper.get() != 0);
- if(!_helper->next())
- {
- //
- // The iterator has been moved past the end, and is now
- // invalid.
- //
- _helper.reset();
- }
+ assert(_helper.get() != 0);
+ if(!_helper->next())
+ {
+ //
+ // The iterator has been moved past the end, and is now
+ // invalid.
+ //
+ _helper.reset();
+ }
_refValid = false;
}
void getCurrentValue(key_type& key, mapped_type& value) const
{
- assert(_helper.get() != 0);
+ assert(_helper.get() != 0);
- const Key* k = 0;
- const Value* v = 0;
- _helper->get(k, v);
- assert(k != 0);
- assert(v != 0);
+ const Key* k = 0;
+ const Value* v = 0;
+ _helper->get(k, v);
+ assert(k != 0);
+ assert(v != 0);
- KeyCodec::read(key, *k, _communicator);
- ValueCodec::read(value, *v, _communicator);
+ KeyCodec::read(key, *k, _communicator);
+ ValueCodec::read(value, *v, _communicator);
}
friend class Map<key_type, mapped_type,
- KeyCodec, ValueCodec, Compare>;
+ KeyCodec, ValueCodec, Compare>;
std::auto_ptr<IteratorHelper> _helper;
Ice::CommunicatorPtr _communicator;
@@ -622,7 +622,7 @@ struct IceEncodingCompare
{
bool operator()(...)
{
- return false;
+ return false;
}
};
@@ -648,35 +648,35 @@ class KeyCompare : public KeyCompareBase
{
public:
KeyCompare(const Compare& compare,
- const Ice::CommunicatorPtr& communicator) :
+ const Ice::CommunicatorPtr& communicator) :
#if defined(_MSC_VER) && (_MSC_VER <= 1300)
- KeyCompareBase(enableKeyCompare(compare)),
+ KeyCompareBase(enableKeyCompare(compare)),
#else
- KeyCompareBase(true),
+ KeyCompareBase(true),
#endif
- _compare(compare),
- _communicator(communicator)
+ _compare(compare),
+ _communicator(communicator)
{}
virtual int compare(const Key& dbKey1, const Key& dbKey2)
{
- key_type key1;
- KeyCodec::read(key1, dbKey1, _communicator);
- key_type key2;
- KeyCodec::read(key2, dbKey2, _communicator);
-
- if(_compare(key1, key2))
- {
- return -1;
- }
- else if(_compare(key2, key1))
- {
- return 1;
- }
- else
- {
- return 0;
- }
+ key_type key1;
+ KeyCodec::read(key1, dbKey1, _communicator);
+ key_type key2;
+ KeyCodec::read(key2, dbKey2, _communicator);
+
+ if(_compare(key1, key2))
+ {
+ return -1;
+ }
+ else if(_compare(key2, key1))
+ {
+ return 1;
+ }
+ else
+ {
+ return 0;
+ }
}
private:
Compare _compare;
@@ -693,13 +693,13 @@ class KeyCompare<key_type, KeyCodec, IceEncodingCompare> : public KeyCompareBase
{
public:
KeyCompare(const IceEncodingCompare&, const Ice::CommunicatorPtr&):
- KeyCompareBase(false)
+ KeyCompareBase(false)
{}
virtual int compare(const Key& dbKey1, const Key& dbKey2)
{
- assert(0);
- return 0;
+ assert(0);
+ return 0;
}
};
#endif
@@ -714,33 +714,33 @@ class MapIndex : public MapIndexBase
public:
virtual int compare(const Key& dbKey1, const Key& dbKey2)
{
- key_type key1;
- KeyCodec::read(key1, dbKey1, _communicator);
- key_type key2;
- KeyCodec::read(key2, dbKey2, _communicator);
-
- if(_compare(key1, key2))
- {
- return -1;
- }
- else if(_compare(key2, key1))
- {
- return 1;
- }
- else
- {
- return 0;
- }
+ key_type key1;
+ KeyCodec::read(key1, dbKey1, _communicator);
+ key_type key2;
+ KeyCodec::read(key2, dbKey2, _communicator);
+
+ if(_compare(key1, key2))
+ {
+ return -1;
+ }
+ else if(_compare(key2, key1))
+ {
+ return 1;
+ }
+ else
+ {
+ return 0;
+ }
}
protected:
MapIndex(const std::string& name, const Compare& compare) :
#if defined(_MSC_VER) && (_MSC_VER <= 1300)
- MapIndexBase(name, enableKeyCompare(compare)),
+ MapIndexBase(name, enableKeyCompare(compare)),
#else
- MapIndexBase(name, true),
+ MapIndexBase(name, true),
#endif
- _compare(compare)
+ _compare(compare)
{}
private:
@@ -758,13 +758,13 @@ class MapIndex<key_type, KeyCodec, IceEncodingCompare> : public MapIndexBase
public:
virtual int compare(const Key& dbKey1, const Key& dbKey2)
{
- assert(0);
- return 0;
+ assert(0);
+ return 0;
}
protected:
MapIndex(const std::string& name, const IceEncodingCompare&):
- MapIndexBase(name, false)
+ MapIndexBase(name, false)
{}
};
#endif
@@ -777,8 +777,8 @@ protected:
// TODO: implement bidirectional iterators.
//
template<typename key_type, typename mapped_type,
- typename KeyCodec, typename ValueCodec,
- typename Compare = IceEncodingCompare>
+ typename KeyCodec, typename ValueCodec,
+ typename Compare = IceEncodingCompare>
class Map
{
public:
@@ -786,9 +786,9 @@ public:
typedef std::pair<const key_type, const mapped_type> value_type;
typedef Iterator<key_type, mapped_type,
- KeyCodec, ValueCodec, Compare> iterator;
+ KeyCodec, ValueCodec, Compare> iterator;
typedef ConstIterator<key_type, mapped_type,
- KeyCodec, ValueCodec, Compare> const_iterator;
+ KeyCodec, ValueCodec, Compare> const_iterator;
//
// No definition for reference, const_reference, pointer or
@@ -807,41 +807,41 @@ public:
// Constructors
//
Map(const Freeze::ConnectionPtr& connection,
- const std::string& dbName,
- bool createDb = true,
- const Compare& compare = Compare()) :
- _communicator(connection->getCommunicator())
- {
- KeyCompareBasePtr keyCompare =
- new KeyCompare<key_type, KeyCodec, Compare>(compare, _communicator);
- std::vector<MapIndexBasePtr> indices;
+ const std::string& dbName,
+ bool createDb = true,
+ const Compare& compare = Compare()) :
+ _communicator(connection->getCommunicator())
+ {
+ KeyCompareBasePtr keyCompare =
+ new KeyCompare<key_type, KeyCodec, Compare>(compare, _communicator);
+ std::vector<MapIndexBasePtr> indices;
- _helper.reset(MapHelper::create(connection, dbName,
- KeyCodec::typeId(), ValueCodec::typeId(),
- keyCompare, indices, createDb));
+ _helper.reset(MapHelper::create(connection, dbName,
+ KeyCodec::typeId(), ValueCodec::typeId(),
+ keyCompare, indices, createDb));
}
template<class _InputIterator>
Map(const Freeze::ConnectionPtr& connection,
- const std::string& dbName,
- bool createDb,
- _InputIterator first, _InputIterator last,
- const Compare& compare = Compare()) :
- _communicator(connection->getCommunicator())
+ const std::string& dbName,
+ bool createDb,
+ _InputIterator first, _InputIterator last,
+ const Compare& compare = Compare()) :
+ _communicator(connection->getCommunicator())
{
- KeyCompareBasePtr keyCompare =
- new KeyCompare<key_type, KeyCodec, Compare>(compare, _communicator);
+ KeyCompareBasePtr keyCompare =
+ new KeyCompare<key_type, KeyCodec, Compare>(compare, _communicator);
- std::vector<MapIndexBasePtr> indices;
+ std::vector<MapIndexBasePtr> indices;
- _helper.reset(MapHelper::create(connection, dbName,
- KeyCodec::typeId(), ValueCodec::typeId(),
- keyCompare, indices, createDb));
- while(first != last)
- {
- put(*first);
- ++first;
- }
+ _helper.reset(MapHelper::create(connection, dbName,
+ KeyCodec::typeId(), ValueCodec::typeId(),
+ keyCompare, indices, createDb));
+ while(first != last)
+ {
+ put(*first);
+ ++first;
+ }
}
~Map()
@@ -850,94 +850,94 @@ public:
bool operator==(const Map& rhs) const
{
- //
- // This does a memberwise equality for the entire contents of
- // the database. While slow this is always correct. Database
- // equality is not necessarily correct in the context of a
- // transaction.
- //
- if(count() != rhs.count())
- {
- return false;
- }
-
- for(const_iterator p = rhs.begin() ; p != rhs.end() ; ++p)
- {
- const_iterator q = rhs.find(p->first);
- if(q == rhs.end())
- {
- return false;
- }
- if(p->second != q->second)
- {
- return false;
- }
- }
- return true;
+ //
+ // This does a memberwise equality for the entire contents of
+ // the database. While slow this is always correct. Database
+ // equality is not necessarily correct in the context of a
+ // transaction.
+ //
+ if(count() != rhs.count())
+ {
+ return false;
+ }
+
+ for(const_iterator p = rhs.begin() ; p != rhs.end() ; ++p)
+ {
+ const_iterator q = rhs.find(p->first);
+ if(q == rhs.end())
+ {
+ return false;
+ }
+ if(p->second != q->second)
+ {
+ return false;
+ }
+ }
+ return true;
}
bool operator!=(const Map& rhs) const
{
- return !(*this == rhs);
+ return !(*this == rhs);
}
void swap(Map& rhs)
{
- MapHelper* tmp = _helper.release();
- _helper.reset(rhs._helper.release());
- rhs._helper.reset(tmp);
-
- Ice::CommunicatorPtr tmpCom = _communicator;
- _communicator = rhs._communicator;
- rhs._communicator = tmpCom;
+ MapHelper* tmp = _helper.release();
+ _helper.reset(rhs._helper.release());
+ rhs._helper.reset(tmp);
+
+ Ice::CommunicatorPtr tmpCom = _communicator;
+ _communicator = rhs._communicator;
+ rhs._communicator = tmpCom;
}
iterator begin()
{
- try
- {
- return iterator(IteratorHelper::create(*_helper.get(), false), _communicator);
- }
- catch(const NotFoundException&)
- {
- return iterator();
- }
+ try
+ {
+ return iterator(IteratorHelper::create(*_helper.get(), false), _communicator);
+ }
+ catch(const NotFoundException&)
+ {
+ return iterator();
+ }
}
const_iterator begin() const
{
- try
- {
- return const_iterator(IteratorHelper::create(*_helper.get(), true), _communicator);
- }
- catch(const NotFoundException&)
- {
- return const_iterator();
- }
+ try
+ {
+ return const_iterator(IteratorHelper::create(*_helper.get(), true), _communicator);
+ }
+ catch(const NotFoundException&)
+ {
+ return const_iterator();
+ }
}
iterator end()
{
- return iterator();
+ return iterator();
}
const_iterator end() const
{
- return const_iterator();
+ return const_iterator();
}
bool empty() const
{
- return size() == 0;
+ return size() == 0;
}
size_type size() const
{
- return _helper->size();
+ return _helper->size();
}
size_type max_size() const
{
- return 0xffffffff; // TODO: is this the max?
+ return 0xffffffff; // TODO: is this the max?
}
//
@@ -962,106 +962,106 @@ public:
iterator insert(iterator /*position*/, const value_type& key)
{
- //
- // position is ignored.
- //
- Key k;
- KeyCodec::write(key.first, k, _communicator);
-
- iterator r = iterator(_helper->find(k, false), _communicator);
+ //
+ // position is ignored.
+ //
+ Key k;
+ KeyCodec::write(key.first, k, _communicator);
+
+ iterator r = iterator(_helper->find(k, false), _communicator);
- if(r == end())
- {
- Value v;
- ValueCodec::write(key.second, v, _communicator);
-
- _helper->put(k, v);
- r = iterator(_helper->find(k, false), _communicator);
- }
+ if(r == end())
+ {
+ Value v;
+ ValueCodec::write(key.second, v, _communicator);
+
+ _helper->put(k, v);
+ r = iterator(_helper->find(k, false), _communicator);
+ }
- return r;
+ return r;
}
std::pair<iterator, bool> insert(const value_type& key)
{
- Key k;
- KeyCodec::write(key.first, k, _communicator);
+ Key k;
+ KeyCodec::write(key.first, k, _communicator);
- iterator r = iterator(_helper->find(k, false), _communicator);
- bool inserted = false;
+ iterator r = iterator(_helper->find(k, false), _communicator);
+ bool inserted = false;
- if(r == end())
- {
- Value v;
- ValueCodec::write(key.second, v, _communicator);
-
- _helper->put(k, v);
- inserted = true;
- r = iterator(_helper->find(k, false), _communicator);
- }
+ if(r == end())
+ {
+ Value v;
+ ValueCodec::write(key.second, v, _communicator);
+
+ _helper->put(k, v);
+ inserted = true;
+ r = iterator(_helper->find(k, false), _communicator);
+ }
- return std::pair<iterator, bool>(r, inserted);
+ return std::pair<iterator, bool>(r, inserted);
}
template <typename InputIterator>
void insert(InputIterator first, InputIterator last)
{
- while(first != last)
- {
- insert(*first);
- ++first;
- }
+ while(first != last)
+ {
+ insert(*first);
+ ++first;
+ }
}
void put(const value_type& key)
{
- //
- // insert or replace
- //
- Key k;
- Value v;
- KeyCodec::write(key.first, k, _communicator);
- ValueCodec::write(key.second, v, _communicator);
+ //
+ // insert or replace
+ //
+ Key k;
+ Value v;
+ KeyCodec::write(key.first, k, _communicator);
+ ValueCodec::write(key.second, v, _communicator);
- _helper->put(k, v);
+ _helper->put(k, v);
}
template <typename InputIterator>
void put(InputIterator first, InputIterator last)
{
- while(first != last)
- {
- put(*first);
- ++first;
- }
+ while(first != last)
+ {
+ put(*first);
+ ++first;
+ }
}
void erase(iterator position)
{
- assert(position._helper.get() != 0);
- position._helper->erase();
+ assert(position._helper.get() != 0);
+ position._helper->erase();
}
size_type erase(const key_type& key)
{
- Key k;
- KeyCodec::write(key, k, _communicator);
+ Key k;
+ KeyCodec::write(key, k, _communicator);
- return _helper->erase(k);
+ return _helper->erase(k);
}
void erase(iterator first, iterator last)
{
- while(first != last)
- {
- first._helper->erase();
- ++first;
- }
+ while(first != last)
+ {
+ first._helper->erase();
+ ++first;
+ }
}
void clear()
{
- _helper->clear();
+ _helper->clear();
}
@@ -1070,87 +1070,87 @@ public:
//
void destroy()
{
- _helper->destroy();
+ _helper->destroy();
}
iterator find(const key_type& key)
{
- Key k;
- KeyCodec::write(key, k, _communicator);
+ Key k;
+ KeyCodec::write(key, k, _communicator);
- return iterator(_helper->find(k, false), _communicator);
+ return iterator(_helper->find(k, false), _communicator);
}
const_iterator find(const key_type& key) const
{
- Key k;
- KeyCodec::write(key, k, _communicator);
+ Key k;
+ KeyCodec::write(key, k, _communicator);
- return const_iterator(_helper->find(k, true), _communicator);
+ return const_iterator(_helper->find(k, true), _communicator);
}
size_type count(const key_type& key) const
{
- Key k;
- KeyCodec::write(key, k, _communicator);
-
- return _helper->count(k);
+ Key k;
+ KeyCodec::write(key, k, _communicator);
+
+ return _helper->count(k);
}
iterator lower_bound(const key_type& key)
{
- Key k;
- KeyCodec::write(key, k, _communicator);
+ Key k;
+ KeyCodec::write(key, k, _communicator);
- return iterator(_helper->lowerBound(k, false), _communicator);
+ return iterator(_helper->lowerBound(k, false), _communicator);
}
const_iterator lower_bound(const key_type& key) const
{
- Key k;
- KeyCodec::write(key, k, _communicator);
+ Key k;
+ KeyCodec::write(key, k, _communicator);
- return iterator(_helper->lowerBound(k, true), _communicator);
+ return iterator(_helper->lowerBound(k, true), _communicator);
}
iterator upper_bound(const key_type& key)
{
- Key k;
- KeyCodec::write(key, k, _communicator);
+ Key k;
+ KeyCodec::write(key, k, _communicator);
- return iterator(_helper->upperBound(k, false), _communicator);
+ return iterator(_helper->upperBound(k, false), _communicator);
}
const_iterator upper_bound(const key_type& key) const
{
- Key k;
- KeyCodec::write(key, k, _communicator);
+ Key k;
+ KeyCodec::write(key, k, _communicator);
- return iterator(_helper->upperBound(k, true), _communicator);
+ return iterator(_helper->upperBound(k, true), _communicator);
}
std::pair<iterator, iterator> equal_range(const key_type& key)
{
- return std::make_pair(lower_bound(key), upper_bound(key));
+ return std::make_pair(lower_bound(key), upper_bound(key));
}
std::pair<const_iterator, const_iterator>
equal_range(const key_type& key) const
{
- return std::make_pair(lower_bound(key), upper_bound(key));
+ return std::make_pair(lower_bound(key), upper_bound(key));
}
const Ice::CommunicatorPtr&
communicator() const
{
- return _communicator();
+ return _communicator();
}
protected:
Map(const Ice::CommunicatorPtr& communicator) :
- _communicator(communicator)
+ _communicator(communicator)
{
}
@@ -1170,19 +1170,19 @@ namespace std
// TODO: update.
template <class key_type, class mapped_type,
- class KeyCodec, class ValueCodec, class Compare>
+ class KeyCodec, class ValueCodec, class Compare>
inline pair<const key_type, const mapped_type>*
value_type(const Freeze::Iterator<key_type, mapped_type,
- KeyCodec, ValueCodec, Compare>&)
+ KeyCodec, ValueCodec, Compare>&)
{
return (pair<const key_type, const mapped_type>*)0;
}
template <class key_type, class mapped_type,
- class KeyCodec, class ValueCodec, class Compare>
+ class KeyCodec, class ValueCodec, class Compare>
inline pair<const key_type, const mapped_type>*
value_type(const Freeze::ConstIterator<key_type, mapped_type,
- KeyCodec, ValueCodec, Compare>&)
+ KeyCodec, ValueCodec, Compare>&)
{
return (pair<const key_type, const mapped_type>*)0;
}