diff options
author | Bernard Normier <bernard@zeroc.com> | 2005-11-08 00:13:52 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2005-11-08 00:13:52 +0000 |
commit | 20c342c1c5f35fbe60565dee7fb81ca2baf04e5b (patch) | |
tree | 199faf2102026478de9a1e55f6fff271591e7b98 /cpp/src/Freeze/MapI.h | |
parent | fixed bi-dir/shutdown deadlock (diff) | |
download | ice-20c342c1c5f35fbe60565dee7fb81ca2baf04e5b.tar.bz2 ice-20c342c1c5f35fbe60565dee7fb81ca2baf04e5b.tar.xz ice-20c342c1c5f35fbe60565dee7fb81ca2baf04e5b.zip |
Implemented enhancement 415 (Freeze Map compare functors)
Diffstat (limited to 'cpp/src/Freeze/MapI.h')
-rw-r--r-- | cpp/src/Freeze/MapI.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/cpp/src/Freeze/MapI.h b/cpp/src/Freeze/MapI.h index 5a1a1d9d9a0..8f842926a47 100644 --- a/cpp/src/Freeze/MapI.h +++ b/cpp/src/Freeze/MapI.h @@ -23,7 +23,8 @@ class IteratorHelperI : public IteratorHelper { public: - IteratorHelperI(const MapHelperI& m, bool readOnly, const MapIndexBasePtr& index); + IteratorHelperI(const MapHelperI& m, bool readOnly, + const MapIndexBasePtr& index, bool onlyDups); IteratorHelperI(const IteratorHelperI&); virtual @@ -32,6 +33,12 @@ public: bool find(const Key& k) const; + bool + lowerBound(const Key& k) const; + + bool + upperBound(const Key& k) const; + virtual IteratorHelper* clone() const; @@ -50,6 +57,8 @@ public: virtual bool next() const; + bool next(bool) const; + void close(); @@ -86,6 +95,7 @@ private: const MapHelperI& _map; Dbc* _dbc; const bool _indexed; + const bool _onlyDups; TxPtr _tx; mutable Key _key; @@ -99,6 +109,7 @@ public: MapHelperI(const ConnectionIPtr&, const std::string&, const std::string&, const std::string&, + const KeyCompareBasePtr&, const std::vector<MapIndexBasePtr>&, bool); virtual ~MapHelperI(); @@ -106,6 +117,12 @@ public: virtual IteratorHelper* find(const Key&, bool) const; + virtual IteratorHelper* + lowerBound(const Key&, bool) const; + + virtual IteratorHelper* + upperBound(const Key&, bool) const; + virtual void put(const Key&, const Value&); |