summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-04-18 16:51:56 +0200
committerMichael Stahl <mstahl@redhat.com>2012-04-18 17:55:06 +0200
commitd85b7f1548cbf0091812fcec1f9a37e1220de4a9 (patch)
tree86c281961ca451b3d444b6cfa4796d670a7db593 /tools
parenta26c2ee3c9ca783f0281dc0dd87c1747daac63a6 (diff)
move tools/table.hxx to binfilter
Diffstat (limited to 'tools')
-rw-r--r--tools/Library_tl.mk1
-rw-r--r--tools/Package_inc.mk1
-rw-r--r--tools/inc/tools/table.hxx148
-rw-r--r--tools/source/memtools/table.cxx358
4 files changed, 0 insertions, 508 deletions
diff --git a/tools/Library_tl.mk b/tools/Library_tl.mk
index 2571031323ba..975574f78919 100644
--- a/tools/Library_tl.mk
+++ b/tools/Library_tl.mk
@@ -88,7 +88,6 @@ $(eval $(call gb_Library_add_exception_objects,tl,\
tools/source/memtools/contnr \
tools/source/memtools/mempool \
tools/source/memtools/multisel \
- tools/source/memtools/table \
tools/source/memtools/unqidx \
tools/source/misc/appendunixshellword \
tools/source/misc/extendapplicationenvironment \
diff --git a/tools/Package_inc.mk b/tools/Package_inc.mk
index b4765f95cd6c..46b829fbcb7e 100644
--- a/tools/Package_inc.mk
+++ b/tools/Package_inc.mk
@@ -83,7 +83,6 @@ $(eval $(call gb_Package_add_file,tools_inc,inc/tools/stream.hxx,tools/stream.hx
$(eval $(call gb_Package_add_file,tools_inc,inc/tools/string.hxx,tools/string.hxx))
$(eval $(call gb_Package_add_file,tools_inc,inc/tools/svborder.hxx,tools/svborder.hxx))
$(eval $(call gb_Package_add_file,tools_inc,inc/tools/svlibrary.hxx,tools/svlibrary.hxx))
-$(eval $(call gb_Package_add_file,tools_inc,inc/tools/table.hxx,tools/table.hxx))
$(eval $(call gb_Package_add_file,tools_inc,inc/tools/tempfile.hxx,tools/tempfile.hxx))
$(eval $(call gb_Package_add_file,tools_inc,inc/tools/tenccvt.hxx,tools/tenccvt.hxx))
$(eval $(call gb_Package_add_file,tools_inc,inc/tools/time.hxx,tools/time.hxx))
diff --git a/tools/inc/tools/table.hxx b/tools/inc/tools/table.hxx
deleted file mode 100644
index ec6927e9be93..000000000000
--- a/tools/inc/tools/table.hxx
+++ /dev/null
@@ -1,148 +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 _TOOLS_TABLE_HXX
-#define _TOOLS_TABLE_HXX
-
-#include "tools/toolsdllapi.h"
-#include <tools/solar.h>
-#include <tools/contnr.hxx>
-
-// ---------
-// - Table -
-// ---------
-
-#define TABLE_ENTRY_NOTFOUND CONTAINER_ENTRY_NOTFOUND
-
-class TOOLS_DLLPUBLIC Table : private Container
-{
-private:
- sal_uIntPtr nCount;
- TOOLS_DLLPRIVATE sal_uIntPtr ImplGetIndex( sal_uIntPtr nKey, sal_uIntPtr* pIndex = NULL ) const;
-public:
- Table( sal_uInt16 nInitSize = 16, sal_uInt16 nReSize = 16 );
- Table( const Table& rTable ) : Container( rTable )
- { nCount = rTable.nCount; }
-
- sal_Bool Insert( sal_uIntPtr nKey, void* p );
- void* Remove( sal_uIntPtr nKey );
- void* Replace( sal_uIntPtr nKey, void* p );
- void* Get( sal_uIntPtr nKey ) const;
-
- void Clear() { Container::Clear(); nCount = 0; }
- sal_uIntPtr Count() const { return( nCount ); }
-
- void* GetCurObject() const;
- sal_uIntPtr GetCurKey() const { return (sal_uIntPtr)Container::GetCurObject(); }
- sal_uIntPtr GetKey( const void* p ) const;
- sal_Bool IsKeyValid( sal_uIntPtr nKey ) const;
-
- void* GetObject( sal_uIntPtr nPos ) const
- { return Container::GetObject( (nPos*2)+1 ); }
- sal_uIntPtr GetObjectKey( sal_uIntPtr nPos ) const
- { return (sal_uIntPtr)Container::GetObject( nPos*2 ); }
- sal_uIntPtr SearchKey( sal_uIntPtr nKey, sal_uIntPtr* pPos = NULL ) const;
-
- void* Seek( sal_uIntPtr nKey );
- void* First();
- void* Last();
- void* Next();
- void* Prev();
-
- Table& operator =( const Table& rTable );
-
- sal_Bool operator ==( const Table& rTable ) const
- { return Container::operator ==( rTable ); }
- sal_Bool operator !=( const Table& rTable ) const
- { return Container::operator !=( rTable ); }
-};
-
-inline Table& Table::operator =( const Table& r )
-{
- Container::operator =( r );
- nCount = r.nCount;
- return *this;
-}
-
-// -----------------
-// - DECLARE_TABLE -
-// -----------------
-
-#define DECLARE_TABLE( ClassName, Type ) \
-class ClassName : private Table \
-{ \
-public: \
- using Table::Clear; \
- using Table::Count; \
- using Table::GetCurKey; \
- using Table::GetObjectKey; \
- using Table::SearchKey; \
- using Table::IsKeyValid; \
- \
- ClassName( sal_uInt16 _nInitSize = 16, \
- sal_uInt16 _nReSize = 16 ) : \
- Table( _nInitSize, _nReSize ) {} \
- ClassName( const ClassName& rClassName ) : \
- Table( rClassName ) {} \
- \
- sal_Bool Insert( sal_uIntPtr nKey, Type p ) \
- { return Table::Insert( nKey, (void*)p ); } \
- Type Remove( sal_uIntPtr nKey ) \
- { return (Type)Table::Remove( nKey ); } \
- Type Replace( sal_uIntPtr nKey, Type p ) \
- { return (Type)Table::Replace( nKey, (void*)p ); } \
- Type Get( sal_uIntPtr nKey ) const \
- { return (Type)Table::Get( nKey ); } \
- \
- Type GetCurObject() const \
- { return (Type)Table::GetCurObject(); } \
- sal_uIntPtr GetKey( const Type p ) const \
- { return Table::GetKey( (const void*)p ); } \
- \
- Type GetObject( sal_uIntPtr nPos ) const \
- { return (Type)Table::GetObject( nPos ); } \
- \
- Type Seek( sal_uIntPtr nKey ) \
- { return (Type)Table::Seek( nKey ); } \
- Type First() { return (Type)Table::First(); } \
- Type Last() { return (Type)Table::Last(); } \
- Type Next() { return (Type)Table::Next(); } \
- Type Prev() { return (Type)Table::Prev(); } \
- \
- ClassName& operator =( const ClassName& rClassName ) \
- { Table::operator =( rClassName ); \
- return *this; } \
- \
- sal_Bool operator ==( const ClassName& rTable ) const \
- { return Table::operator ==( rTable ); } \
- sal_Bool operator !=( const ClassName& rTable ) const \
- { return Table::operator !=( rTable ); } \
-};
-
-#endif // _TOOLS_TABLE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/tools/source/memtools/table.cxx b/tools/source/memtools/table.cxx
deleted file mode 100644
index 9a55fb7add66..000000000000
--- a/tools/source/memtools/table.cxx
+++ /dev/null
@@ -1,358 +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.
- *
- ************************************************************************/
-
-
-#define _TOOLS_TABLE_CXX
-
-// -----------------------------------------------------------------------
-#include <tools/debug.hxx>
-#include <impcont.hxx>
-#include <tools/table.hxx>
-
-// =======================================================================
-
-sal_uIntPtr Table::ImplGetIndex( sal_uIntPtr nKey, sal_uIntPtr* pIndex ) const
-{
- // Abpruefen, ob der erste Key groesser als der Vergleichskey ist
- if ( !nCount || (nKey < (sal_uIntPtr)Container::ImpGetObject(0)) )
- return TABLE_ENTRY_NOTFOUND;
-
- sal_uIntPtr nLow;
- sal_uIntPtr nHigh;
- sal_uIntPtr nMid;
- sal_uIntPtr nCompareKey;
- void** pNodes = Container::ImpGetOnlyNodes();
-
- // Binaeres Suchen
- nLow = 0;
- nHigh = nCount-1;
- if ( pNodes )
- {
- do
- {
- nMid = (nLow + nHigh) / 2;
- nCompareKey = (sal_uIntPtr)pNodes[nMid*2];
- if ( nKey < nCompareKey )
- nHigh = nMid-1;
- else
- {
- if ( nKey > nCompareKey )
- nLow = nMid + 1;
- else
- return nMid*2;
- }
- }
- while ( nLow <= nHigh );
- }
- else
- {
- do
- {
- nMid = (nLow + nHigh) / 2;
- nCompareKey = (sal_uIntPtr)Container::ImpGetObject( nMid*2 );
- if ( nKey < nCompareKey )
- nHigh = nMid-1;
- else
- {
- if ( nKey > nCompareKey )
- nLow = nMid + 1;
- else
- return nMid*2;
- }
- }
- while ( nLow <= nHigh );
- }
-
- if ( pIndex )
- {
- if ( nKey > nCompareKey )
- *pIndex = (nMid+1)*2;
- else
- *pIndex = nMid*2;
- }
-
- return TABLE_ENTRY_NOTFOUND;
-}
-
-// =======================================================================
-
-Table::Table( sal_uInt16 _nInitSize, sal_uInt16 _nReSize ) :
- Container( CONTAINER_MAXBLOCKSIZE, _nInitSize*2, _nReSize*2 )
-{
- DBG_ASSERT( _nInitSize <= 32767, "Table::Table(): InitSize > 32767" );
- DBG_ASSERT( _nReSize <= 32767, "Table::Table(): ReSize > 32767" );
- nCount = 0;
-}
-
-// -----------------------------------------------------------------------
-
-sal_Bool Table::Insert( sal_uIntPtr nKey, void* p )
-{
- // Tabellenelement einsortieren
- sal_uIntPtr i;
- if ( nCount )
- {
- if ( nCount <= 24 )
- {
- sal_uInt16 nTempCount = (sal_uInt16)nCount * 2;
-
- if( void** pNodes = Container::ImpGetOnlyNodes() )
- {
- sal_uInt16 n = 0;
- sal_uIntPtr nCompareKey = (sal_uIntPtr)(*pNodes);
- while ( nKey > nCompareKey )
- {
- n += 2;
- pNodes += 2;
- if ( n < nTempCount )
- nCompareKey = (sal_uIntPtr)(*pNodes);
- else
- {
- nCompareKey = 0;
- break;
- }
- }
-
- // Testen, ob sich der Key schon in der Tabelle befindet
- if ( nKey == nCompareKey )
- return sal_False;
-
- i = n;
- }
- else
- {
- i = 0;
- if ( ImplGetIndex( nKey, &i ) != TABLE_ENTRY_NOTFOUND )
- return sal_False;
- }
- }
- else
- {
- i = 0;
- if ( ImplGetIndex( nKey, &i ) != TABLE_ENTRY_NOTFOUND )
- return sal_False;
- }
- }
- else
- i = 0;
-
- // Eintrag einfuegen (Key vor Pointer)
- Container::Insert( (void*)nKey, i );
- Container::Insert( p, i+1 );
-
- // Ein neuer Eintrag
- nCount++;
-
- return sal_True;
-}
-
-// -----------------------------------------------------------------------
-
-void* Table::Remove( sal_uIntPtr nKey )
-{
- // Index besorgen
- sal_uIntPtr nIndex = ImplGetIndex( nKey );
-
- // Testen, ob sich der Key in der Tabelle befindet
- if ( nIndex == TABLE_ENTRY_NOTFOUND )
- return NULL;
-
- // Itemanzahl erniedrigen
- nCount--;
-
- // Key entfernen
- Container::Remove( nIndex );
-
- // Pointer entfernen und zurueckgeben
- return Container::Remove( nIndex );
-}
-
-// -----------------------------------------------------------------------
-
-void* Table::Replace( sal_uIntPtr nKey, void* p )
-{
- // Index abfragen
- sal_uIntPtr nIndex = ImplGetIndex( nKey );
-
- // Existiert kein Eintrag mit dem Schluessel
- if ( nIndex == TABLE_ENTRY_NOTFOUND )
- return NULL;
- else
- return Container::Replace( p, nIndex+1 );
-}
-
-// -----------------------------------------------------------------------
-
-void* Table::Get( sal_uIntPtr nKey ) const
-{
- // Index besorgen
- sal_uIntPtr nIndex = ImplGetIndex( nKey );
-
- // Testen, ob sich der Key in der Tabelle befindet
- if ( nIndex == TABLE_ENTRY_NOTFOUND )
- return NULL;
- else
- return Container::ImpGetObject( nIndex+1 );
-}
-
-// -----------------------------------------------------------------------
-
-void* Table::GetCurObject() const
-{
- return Container::ImpGetObject( Container::GetCurPos()+1 );
-}
-
-// -----------------------------------------------------------------------
-
-sal_uIntPtr Table::GetKey( const void* p ) const
-{
- sal_uIntPtr nIndex = 0;
-
- // Solange noch Eintraege Vorhanden sind
- while ( nIndex < nCount )
- {
- // Stimmt der Pointer ueberein, wird der Key zurueckgegeben
- if ( p == Container::ImpGetObject( (nIndex*2)+1 ) )
- return (sal_uIntPtr)Container::ImpGetObject( nIndex*2 );
-
- nIndex++;
- }
-
- return TABLE_ENTRY_NOTFOUND;
-}
-
-// -----------------------------------------------------------------------
-
-sal_Bool Table::IsKeyValid( sal_uIntPtr nKey ) const
-{
- return (ImplGetIndex( nKey ) != TABLE_ENTRY_NOTFOUND) ? sal_True : sal_False;
-}
-
-// -----------------------------------------------------------------------
-
-sal_uIntPtr Table::SearchKey( sal_uIntPtr nKey, sal_uIntPtr* pPos ) const
-{
- *pPos = 0;
- sal_uIntPtr nPos = ImplGetIndex( nKey, pPos );
- if ( nPos != TABLE_ENTRY_NOTFOUND )
- {
- nPos /= 2;
- *pPos = nPos;
- }
- else
- *pPos /= 2;
- return nPos;
-}
-
-// -----------------------------------------------------------------------
-
-void* Table::Seek( sal_uIntPtr nKey )
-{
- // Testen, ob ein Eintrag vorhanden ist
- if ( nCount )
- {
- sal_uIntPtr nIndex = ImplGetIndex( nKey );
-
- // Ist Key nicht enthalten
- if ( nIndex == TABLE_ENTRY_NOTFOUND )
- return NULL;
- else
- {
- // Index setzen
- Container::Seek( nIndex );
-
- // Pointer zurueckgeben
- return Container::ImpGetObject( Container::GetCurPos() + 1 );
- }
- }
- else
- return NULL;
-}
-
-void* Table::First()
-{
- // Testen, ob ein Eintrag vorhanden ist
- if ( nCount )
- {
- // Auf ersten Eintag setzen
- Container::First();
-
- // Pointer zurueckgeben
- return Container::ImpGetObject( 1 );
- }
- else
- return NULL;
-}
-
-// -----------------------------------------------------------------------
-
-void* Table::Last()
-{
- // Testen, ob ein Eintrag vorhanden ist
- if ( nCount )
- {
- // Last auf letzten Eintrag setzen
- void* p = Container::Last();
- Container::Prev();
-
- // Pointer zurueckgeben
- return p;
- }
- else
- return NULL;
-}
-
-// -----------------------------------------------------------------------
-
-void* Table::Next()
-{
- // Ueber den Pointer weiterschalten
- Container::Next();
-
- // Nachsten Eintag
- Container::Next();
-
- // Pointer vom naechsten Key zurueckgeben
- return Container::ImpGetObject( Container::GetCurPos() + 1 );
-}
-
-// -----------------------------------------------------------------------
-
-void* Table::Prev()
-{
- // Ueber den Pointer weiterschalten
- void* p = Container::Prev();
-
- // Nachsten Eintag
- Container::Prev();
-
- // Pointer vom vorherigen Key zurueckgeben
- return p;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */