diff options
author | Shaun Verch <shaun.verch@mongodb.com> | 2014-06-09 11:03:26 -0400 |
---|---|---|
committer | Shaun Verch <shaun.verch@mongodb.com> | 2014-06-16 15:46:00 -0400 |
commit | 655f58f01b010a98256e9c2f0e34f7910570aa72 (patch) | |
tree | 6d25fa9501851035683dae7d64b13d0666edf4ff /src/mongo/util | |
parent | 0a7accd28c89b91ca85b57a5b152dbbd8014c58c (diff) | |
download | mongo-655f58f01b010a98256e9c2f0e34f7910570aa72.tar.gz |
SERVER-14211 Remove dead LRUishMap class
Diffstat (limited to 'src/mongo/util')
-rw-r--r-- | src/mongo/util/lruishmap.h | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/mongo/util/lruishmap.h b/src/mongo/util/lruishmap.h deleted file mode 100644 index e4c2ab96c14..00000000000 --- a/src/mongo/util/lruishmap.h +++ /dev/null @@ -1,90 +0,0 @@ -// lru-ish map.h - -/* Copyright 2009 10gen Inc. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - * As a special exception, the copyright holders give permission to link the - * code of portions of this program with the OpenSSL library under certain - * conditions as described in each individual source file and distribute - * linked combinations including the program with the OpenSSL library. You - * must comply with the GNU Affero General Public License in all respects - * for all of the code used other than as permitted herein. If you modify - * file(s) with this exception, you may extend this exception to your - * version of the file(s), but you are not obligated to do so. If you do not - * wish to do so, delete this exception statement from your version. If you - * delete this exception statement from all source files in the program, - * then also delete it in the license file. - */ - -#pragma once - -#include "mongo/pch.h" -#include "mongo/util/goodies.h" - -namespace mongo { - - /* Your K object must define: - int hash() - must always return > 0. - operator== - */ - - template <class K, class V, int MaxChain> - class LRUishMap { - public: - LRUishMap(int _n) { - n = nextPrime(_n); - keys = new K[n]; - hashes = new int[n]; - for ( int i = 0; i < n; i++ ) hashes[i] = 0; - } - ~LRUishMap() { - delete[] keys; - delete[] hashes; - } - - int _find(const K& k, bool& found) { - int h = k.hash(); - verify( h > 0 ); - int j = h % n; - int first = j; - for ( int i = 0; i < MaxChain; i++ ) { - if ( hashes[j] == h ) { - if ( keys[j] == k ) { - found = true; - return j; - } - } - else if ( hashes[j] == 0 ) { - found = false; - return j; - } - } - found = false; - return first; - } - - V* find(const K& k) { - bool found; - int j = _find(k, found); - return found ? &values[j] : 0; - } - - private: - int n; - K *keys; - int *hashes; - V *values; - }; - -} // namespace mongo |