diff options
Diffstat (limited to 'soltools/ldump/hashtbl.hxx')
-rw-r--r-- | soltools/ldump/hashtbl.hxx | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/soltools/ldump/hashtbl.hxx b/soltools/ldump/hashtbl.hxx deleted file mode 100644 index b65767147..000000000 --- a/soltools/ldump/hashtbl.hxx +++ /dev/null @@ -1,113 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _HASHTBL_HXX -#define _HASHTBL_HXX - -// ADT hash table -// -// Invariante: -// 1. m_lElem < m_lSize -// 2. die Elemente in m_Array wurden double-hashed erzeugt -// -class HashItem; - -class HashTable -{ - unsigned long m_lSize; - unsigned long m_lElem; - HashItem *m_pData; - double m_dMaxLoadFactor; - double m_dGrowFactor; - bool m_bOwner; - - unsigned long Hash(const char *cKey) const; - unsigned long DHash(const char *cKey , unsigned long lHash) const; - unsigned long Probe(unsigned long lPos) const; - - HashItem* FindPos(const char *cKey) const; - void SmartGrow(); - double CalcLoadFactor() const; - -protected: - friend class HashTableIterator; - - virtual void OnDeleteObject(void* pObject); - - void* GetObjectAt(unsigned long lPos) const; - -// Default-Werte -public: - static double m_defMaxLoadFactor; - static double m_defDefGrowFactor; - -public: - HashTable - ( - unsigned long lSize, - bool bOwner, - double dMaxLoadFactor = HashTable::m_defMaxLoadFactor /* 0.8 */, - double dGrowFactor = HashTable::m_defDefGrowFactor /* 2.0 */ - ); - - virtual ~HashTable(); - - bool IsFull() const; - unsigned long GetSize() const { return m_lSize; } - - void* Find (const char *cKey ) const; - bool Insert (const char *cKey , void* pObject); - void* Delete (const char *cKey); -}; - -// ADT hash table iterator -// -// Invariante: 0 <= m_lAt < m_aTable.GetCount() -// -class HashTableIterator -{ - unsigned long m_lAt; - HashTable const& m_aTable; - - void operator =(HashTableIterator &); // not defined - - void* FindValidObject(bool bForward); - -protected: - void* GetFirst(); // Interation _ohne_ Sortierung - void* GetNext(); - void* GetLast(); - void* GetPrev(); - -public: - HashTableIterator(HashTable const&); -}; - -#endif // _HASHTBL_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |