changeset d45a88688bd7 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=d45a88688bd7
description:
        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:

 src/base/range_map.hh             |  124 --------------------------------------
 src/unittest/SConscript           |    1 -
 src/unittest/rangemultimaptest.cc |   80 ------------------------
 3 files changed, 0 insertions(+), 205 deletions(-)

diffs (227 lines):

diff -r 3bb99fab80d4 -r d45a88688bd7 src/base/range_map.hh
--- a/src/base/range_map.hh     Wed Sep 19 06:15:41 2012 -0400
+++ b/src/base/range_map.hh     Wed Sep 19 06:15:42 2012 -0400
@@ -197,128 +197,4 @@
     }
 };
 
-
-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__
diff -r 3bb99fab80d4 -r d45a88688bd7 src/unittest/SConscript
--- a/src/unittest/SConscript   Wed Sep 19 06:15:41 2012 -0400
+++ b/src/unittest/SConscript   Wed Sep 19 06:15:42 2012 -0400
@@ -45,7 +45,6 @@
 UnitTest('offtest', 'offtest.cc')
 UnitTest('rangetest', 'rangetest.cc')
 UnitTest('rangemaptest', 'rangemaptest.cc')
-UnitTest('rangemultimaptest', 'rangemultimaptest.cc')
 UnitTest('refcnttest', 'refcnttest.cc')
 UnitTest('strnumtest', 'strnumtest.cc')
 UnitTest('trietest', 'trietest.cc')
diff -r 3bb99fab80d4 -r d45a88688bd7 src/unittest/rangemultimaptest.cc
--- a/src/unittest/rangemultimaptest.cc Wed Sep 19 06:15:41 2012 -0400
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2006 The Regents of The University of Michigan
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Ali Saidi
- */
-
-#include <cassert>
-#include <iostream>
-
-#include "base/range_map.hh"
-#include "base/types.hh"
-
-using namespace std;
-
-int
-main()
-{
-    typedef range_multimap<Addr, int> multimap_t;
-
-    multimap_t r;
-    multimap_t::iterator i;
-    std::pair<multimap_t::iterator, multimap_t::iterator> jk;
-
-    i = r.insert(RangeIn<Addr>(10,40),5);
-    assert(i != r.end());
-    i = r.insert(RangeIn<Addr>(10,40),6);
-    assert(i != r.end());
-    i = r.insert(RangeIn<Addr>(60,90),3);
-    assert(i != r.end());
-
-    jk = r.find(RangeIn(20,30));
-    assert(jk.first != r.end());
-    cout << jk.first->first << " " << jk.first->second << endl;
-    cout << jk.second->first << " " << jk.second->second << endl;
-
-    i = r.insert(RangeIn<Addr>(0,3),5);
-    assert(i != r.end());
-
-    for( i = r.begin(); i != r.end(); i++)
-        cout << i->first << " " << i->second << endl;
-
-    jk = r.find(RangeIn(20,30));
-    assert(jk.first != r.end());
-    cout << jk.first->first << " " << jk.first->second << endl;
-    cout << jk.second->first << " " << jk.second->second << endl;
-
-
-}
-
-
-
-
-
-
-
-
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to