diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2012-09-19 06:15:42 -0400 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2012-09-19 06:15:42 -0400 |
commit | 12c291f9d7a1aa3776133bd911c1aa3263010835 (patch) | |
tree | f7ec672a3bfe9f608782a30f1277617411dd92f2 /src/base | |
parent | fccbf8bb45723adb07ebadd52e548e1bcd2cc44a (diff) | |
download | gem5-12c291f9d7a1aa3776133bd911c1aa3263010835.tar.xz |
AddrRange: Remove unused range_multimap
This patch simply removes the unused range_multimap in preparation for
a more specific AddrRangeMap that also allows interleaving in addition
to pure ranges.
Diffstat (limited to 'src/base')
-rw-r--r-- | src/base/range_map.hh | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/src/base/range_map.hh b/src/base/range_map.hh index 0be228228..a9774274e 100644 --- a/src/base/range_map.hh +++ b/src/base/range_map.hh @@ -197,128 +197,4 @@ class range_map } }; - -template <class T,class V> -class range_multimap -{ - private: - typedef std::multimap<Range<T>,V> RangeMap; - RangeMap tree; - - public: - typedef typename RangeMap::iterator iterator; - - template <class U> - std::pair<iterator,iterator> find(const Range<U> &r) - { - iterator i; - iterator j; - - i = tree.lower_bound(r); - - if (i == tree.begin()) { - if (i->first.start <= r.end && i->first.end >= r.start) - return std::make_pair<iterator, iterator>(i,i); - else - // Nothing could match, so return end() - return std::make_pair<iterator, iterator>(tree.end(), tree.end()); - } - i--; - - if (i->first.start <= r.end && i->first.end >= r.start) { - // we have at least one match - j = i; - - i--; - while (i->first.start <= r.end && i->first.end >= - r.start) { - if (i == tree.begin()) - break; - i--; - } - if (i == tree.begin() && i->first.start <= r.end && i->first.end >= - r.start) - return std::make_pair<iterator, iterator>(i,j); - i++; - return std::make_pair<iterator, iterator>(i,j); - - } - - return std::make_pair<iterator, iterator>(tree.end(), tree.end()); - } - - template <class U> - bool - intersect(const Range<U> &r) - { - std::pair<iterator,iterator> p; - p = find(r); - if (p.first != tree.end()) - return true; - return false; - } - - - template <class U,class W> - iterator - insert(const Range<U> &r, const W d) - { - std::pair<iterator,iterator> p; - p = find(r); - if ((p.first->first.start == r.start && p.first->first.end == r.end) || - p.first == tree.end()) - return tree.insert(std::make_pair<Range<T>,V>(r, d)); - else - return tree.end(); - } - - size_t - erase(T k) - { - return tree.erase(k); - } - - void - erase(iterator p) - { - tree.erase(p); - } - - void - erase(iterator p, iterator q) - { - tree.erase(p,q); - } - - void - clear() - { - tree.erase(tree.begin(), tree.end()); - } - - iterator - begin() - { - return tree.begin(); - } - - iterator - end() - { - return tree.end(); - } - - size_t - size() - { - return tree.size(); - } - - bool - empty() - { - return tree.empty(); - } -}; - #endif //__BASE_RANGE_MAP_HH__ |