Kaydet (Commit) e38940a1 authored tarafından Michael Stahl's avatar Michael Stahl

cntnrsrt.hxx: remove dead code

Change-Id: I004101e814ac3eb1de7a518c2dd9b1f14683eca8
üst d81c7f47
......@@ -30,7 +30,6 @@ $(eval $(call gb_Package_add_file,svl_inc,inc/svl/broadcast.hxx,svl/broadcast.hx
$(eval $(call gb_Package_add_file,svl_inc,inc/svl/cenumitm.hxx,svl/cenumitm.hxx))
$(eval $(call gb_Package_add_file,svl_inc,inc/svl/cintitem.hxx,svl/cintitem.hxx))
$(eval $(call gb_Package_add_file,svl_inc,inc/svl/cjkoptions.hxx,svl/cjkoptions.hxx))
$(eval $(call gb_Package_add_file,svl_inc,inc/svl/cntnrsrt.hxx,svl/cntnrsrt.hxx))
$(eval $(call gb_Package_add_file,svl_inc,inc/svl/cntwall.hxx,svl/cntwall.hxx))
$(eval $(call gb_Package_add_file,svl_inc,inc/svl/cntwids.hrc,svl/cntwids.hrc))
$(eval $(call gb_Package_add_file,svl_inc,inc/svl/converter.hxx,svl/converter.hxx))
......
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef _CNTRSRT_HXX
#define _CNTRSRT_HXX
/***********************************************************************
*
* Hier folgt die Beschreibung fuer die exportierten Makros:
*
* DECLARE_CONTAINER_SORT( ClassName, Type )
* IMPL_CONTAINER_SORT( ClassName, Type, SortFunc )
*
* Definiert eine von Container abgeleitete Klasse "ClassName",
* in der die Elemente des Typs "Type" sortiert enthalten sind.
* Dazu muss einer Funktion "SortFunc" definiert sein, die als
* Paramter zwei "const Type&" erwartet und 0 zurueckgibt, wenn
* beide gleich sind, -1 wenn der erste Paramter kleiner ist als
* der zweite und +1 wenn der erste Paramter groesser ist als
* der zweite.
*
* Die Zugriffs-Methoden entsprechen in etwa denen der Container-
* Klasse, mit Ausnahme von Insert, DeleteAndDestroy und Seek_Entry,
* der den SV-Pointer-Arrays entsprechen.
*
* DECLARE_CONTAINER_SORT_DEL( ClassName, Type )
* IMPL_CONTAINER_SORT( ClassName, Type, SortFunc )
*
* Wie DECLARE_CONTAINER_SORT, nur dass beim Aufruf des Destruktors
* alle im Conatiner vorhandenen Objekte geloescht werden.
*/
#include <tools/contnr.hxx>
#define DECLARE_CONTAINER_SORT_COMMON( ClassName, Type ) \
ClassName( const ClassName& ); \
ClassName& operator =( const ClassName& ); \
public: \
using Container::Count; \
\
ClassName( sal_uInt16 InitSize, sal_uInt16 ReSize ) : \
Container( CONTAINER_MAXBLOCKSIZE, InitSize, ReSize ) {} \
\
sal_Bool Insert( Type* pObj ); \
\
Type *Remove( sal_uLong nPos ) \
{ return (Type *)Container::Remove( nPos ); } \
\
Type *Remove( Type* pObj ); \
\
void DeleteAndDestroy( sal_uLong nPos ) \
{ \
Type *pObj = Remove( nPos ); \
if( pObj ) \
delete pObj; \
} \
\
void DeleteAndDestroy() \
{ while( Count() ) DeleteAndDestroy( 0 ); } \
\
Type* GetObject( sal_uLong nPos ) const \
{ return (Type *)Container::GetObject( nPos ); } \
\
Type* operator[]( sal_uLong nPos ) const \
{ return GetObject(nPos); } \
\
sal_Bool Seek_Entry( const Type *pObj, sal_uLong* pPos ) const; \
\
sal_uLong GetPos( const Type* pObj ) const; \
#define DECLARE_CONTAINER_SORT( ClassName, Type ) \
class ClassName : private Container \
{ \
DECLARE_CONTAINER_SORT_COMMON( ClassName, Type ) \
~ClassName() {} \
}; \
#define DECLARE_CONTAINER_SORT_DEL( ClassName, Type ) \
class ClassName : private Container \
{ \
DECLARE_CONTAINER_SORT_COMMON( ClassName, Type ) \
~ClassName() { DeleteAndDestroy(); } \
}; \
#define IMPL_CONTAINER_SORT( ClassName, Type, SortFunc ) \
sal_Bool ClassName::Insert( Type *pObj ) \
{ \
sal_uLong nPos; \
sal_Bool bExist = Seek_Entry( pObj, &nPos ); \
if( !bExist ) \
Container::Insert( pObj, nPos ); \
return !bExist; \
} \
\
Type *ClassName::Remove( Type* pObj ) \
{ \
sal_uLong nPos; \
if( Seek_Entry( pObj, &nPos ) ) \
return Remove( nPos ); \
else \
return 0; \
} \
\
sal_uLong ClassName::GetPos( const Type* pObj ) const \
{ \
sal_uLong nPos; \
if( Seek_Entry( pObj, &nPos ) ) \
return nPos; \
else \
return CONTAINER_ENTRY_NOTFOUND; \
} \
\
sal_Bool ClassName::Seek_Entry( const Type* pObj, sal_uLong* pPos ) const \
{ \
register sal_uLong nO = Count(), \
nM, \
nU = 0; \
if( nO > 0 ) \
{ \
nO--; \
while( nU <= nO ) \
{ \
nM = nU + ( nO - nU ) / 2; \
int nCmp = SortFunc( *GetObject(nM), *pObj ); \
\
if( 0 == nCmp ) \
{ \
if( pPos ) *pPos = nM; \
return sal_True; \
} \
else if( nCmp < 0 ) \
nU = nM + 1; \
else if( nM == 0 ) \
{ \
if( pPos ) *pPos = nU; \
return sal_False; \
} \
else \
nO = nM - 1; \
} \
} \
if( pPos ) *pPos = nU; \
return sal_False; \
} \
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -36,7 +36,6 @@
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include <xmloff/numehelp.hxx>
#include <svl/cntnrsrt.hxx>
#include <svl/zforlist.hxx>
#include <editeng/brshitem.hxx>
#include <editeng/boxitem.hxx>
......
......@@ -39,7 +39,6 @@
#include <com/sun/star/style/XAutoStyleFamily.hpp>
#include "PageMasterPropMapper.hxx"
#include <tools/debug.hxx>
#include <svl/cntnrsrt.hxx>
#include <svl/itemset.hxx>
#include <xmloff/nmspmap.hxx>
#include "xmloff/xmlnmspe.hxx"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment