Hi
This patch converts one use of tools/table.hxx in
svl/inc/svl/zforlist.hxx, whose use in turn spans 3 modules.
Code is contributed under MPL+/LGPL+/GPL+
Code has passed make check.
Regards, Noel Grandin
Disclaimer: http://www.peralex.com/disclaimer.html
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index 02790bc..bd650b4 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -2163,7 +2163,7 @@ void ScDocument::MergeNumberFormatter(ScDocument* pSrcDoc)
{
SvNumberFormatterIndexTable* pExchangeList =
pThisFormatter->MergeFormatter(*(pOtherFormatter));
- if (pExchangeList->Count() > 0)
+ if (!pExchangeList->empty())
pFormatExchangeList = pExchangeList;
}
}
diff --git a/sc/source/core/data/patattr.cxx b/sc/source/core/data/patattr.cxx
index 6de3e0a..5dfa7be 100644
--- a/sc/source/core/data/patattr.cxx
+++ b/sc/source/core/data/patattr.cxx
@@ -970,9 +970,12 @@ SfxStyleSheetBase* lcl_CopyStyleToPool
rSrcSet.GetItemState( ATTR_VALUE_FORMAT, false, &pSrcItem ) == SFX_ITEM_SET )
{
sal_uLong nOldFormat = static_cast<const SfxUInt32Item*>(pSrcItem)->GetValue();
- sal_uInt32* pNewFormat = static_cast<sal_uInt32*>(pFormatExchangeList->Get( nOldFormat
));
- if (pNewFormat)
- rDestSet.Put( SfxUInt32Item( ATTR_VALUE_FORMAT, *pNewFormat ) );
+ SvNumberFormatterIndexTable::const_iterator it = pFormatExchangeList->find(nOldFormat);
+ if (it != pFormatExchangeList->end())
+ {
+ sal_uInt32 nNewFormat = it->second;
+ rDestSet.Put( SfxUInt32Item( ATTR_VALUE_FORMAT, nNewFormat ) );
+ }
}
// ggF. abgeleitete Styles erzeugen, wenn nicht vorhanden:
@@ -1075,9 +1078,12 @@ ScPatternAttr* ScPatternAttr::PutInPool( ScDocument* pDestDoc, ScDocument*
pSrcD
// Zahlformate nach Exchange-Liste
sal_uLong nOldFormat = ((const SfxUInt32Item*)pSrcItem)->GetValue();
- sal_uInt32* pNewFormat =
static_cast<sal_uInt32*>(pDestDoc->GetFormatExchangeList()->Get(nOldFormat));
- if (pNewFormat)
- pNewItem = new SfxUInt32Item( ATTR_VALUE_FORMAT, (sal_uInt32) (*pNewFormat) );
+ SvNumberFormatterIndexTable::const_iterator it =
pDestDoc->GetFormatExchangeList()->find(nOldFormat);
+ if (it != pDestDoc->GetFormatExchangeList()->end())
+ {
+ sal_uInt32 nNewFormat = it->second;
+ pNewItem = new SfxUInt32Item( ATTR_VALUE_FORMAT, nNewFormat );
+ }
}
if ( pNewItem )
diff --git a/sc/source/core/data/stlpool.cxx b/sc/source/core/data/stlpool.cxx
index f9dbef0..e98f33e 100644
--- a/sc/source/core/data/stlpool.cxx
+++ b/sc/source/core/data/stlpool.cxx
@@ -198,9 +198,12 @@ void ScStyleSheetPool::CopyStyleFrom( ScStyleSheetPool* pSrcPool,
rSourceSet.GetItemState( ATTR_VALUE_FORMAT, false, &pItem ) == SFX_ITEM_SET )
{
sal_uLong nOldFormat = static_cast<const SfxUInt32Item*>(pItem)->GetValue();
- sal_uInt32* pNewFormat =
static_cast<sal_uInt32*>(pDoc->GetFormatExchangeList()->Get( nOldFormat ));
- if (pNewFormat)
- rDestSet.Put( SfxUInt32Item( ATTR_VALUE_FORMAT, *pNewFormat ) );
+ SvNumberFormatterIndexTable::const_iterator it =
pDoc->GetFormatExchangeList()->find(nOldFormat);
+ if (it != pDoc->GetFormatExchangeList()->end())
+ {
+ sal_uInt32 nNewFormat = it->second;
+ rDestSet.Put( SfxUInt32Item( ATTR_VALUE_FORMAT, nNewFormat ) );
+ }
}
}
}
diff --git a/svl/inc/svl/zforlist.hxx b/svl/inc/svl/zforlist.hxx
index ac387d4..14229a0 100644
--- a/svl/inc/svl/zforlist.hxx
+++ b/svl/inc/svl/zforlist.hxx
@@ -30,7 +30,6 @@
#include "svl/svldllapi.h"
#include <tools/string.hxx>
-#include <tools/table.hxx>
#include <i18npool/lang.h>
#include <svl/svarray.hxx>
#include <com/sun/star/uno/Reference.hxx>
@@ -214,10 +213,10 @@ enum NfEvalDateFormat
};
-DECLARE_TABLE (SvNumberFormatTable, SvNumberformat*)
-DECLARE_TABLE (SvNumberFormatterIndexTable, sal_uInt32*)
+typedef std::map<sal_uInt32, SvNumberformat*> SvNumberFormatTable;
+typedef std::map<sal_uInt16, sal_uInt32> SvNumberFormatterIndexTable;
-typedef ::std::map< sal_uInt32, sal_uInt32 > SvNumberFormatterMergeMap;
+typedef ::std::map< sal_uInt32, sal_uInt32> SvNumberFormatterMergeMap;
typedef ::std::set< LanguageType > NfInstalledLocales;
@@ -563,7 +562,7 @@ public:
/// Return the format for a format index
const SvNumberformat* GetEntry(sal_uInt32 nKey) const
- { return (SvNumberformat*) aFTable.Get(nKey); }
+ { SvNumberFormatTable::const_iterator it = aFTable.find(nKey); return it ==
aFTable.end() ? 0 : it->second; }
/// Return the format index of the standard default number format for language/country
sal_uInt32 GetStandardIndex(LanguageType eLnge = LANGUAGE_DONTKNOW);
@@ -801,7 +800,8 @@ private:
::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
xServiceManager;
::com::sun::star::lang::Locale aLocale;
SvNumberFormatTable aFTable; // Table of format keys to format entries
- Table aDefaultFormatKeys; // Table of default standard to format keys
+ typedef std::map<sal_uInt32, sal_uInt32> DefaultFormatKeysMap;
+ DefaultFormatKeysMap aDefaultFormatKeys; // Table of default standard to format keys
SvNumberFormatTable* pFormatTable; // For the UI dialog
SvNumberFormatterIndexTable* pMergeTable; // List of indices for merging two
formatters
CharClass* pCharClass; // CharacterClassification
@@ -913,6 +913,9 @@ private:
sal_Int32 nCount, bool bCheckCorrectness = true
);
+ SVL_DLLPRIVATE SvNumberformat* GetFormatEntry(sal_uInt32 nKey);
+ SVL_DLLPRIVATE const SvNumberformat* GetFormatEntry(sal_uInt32 nKey) const;
+
// used as a loop body inside of GetNewCurrencySymbolString() and GetCurrencyEntry()
#ifndef DBG_UTIL
inline
@@ -998,13 +1001,18 @@ public:
inline sal_uInt32 SvNumberFormatter::GetMergeFmtIndex( sal_uInt32 nOldFmt ) const
{
- sal_uInt32* pU = (pMergeTable && pMergeTable->Count()) ? (sal_uInt32*)pMergeTable->Get(
nOldFmt ) : 0;
- return pU ? *pU : nOldFmt;
+ if (pMergeTable)
+ {
+ SvNumberFormatterIndexTable::iterator it = pMergeTable->find(nOldFmt);
+ if (it != pMergeTable->end())
+ return it->second;
+ }
+ return nOldFmt;
}
inline bool SvNumberFormatter::HasMergeFmtTbl() const
{
- return pMergeTable && (0 != pMergeTable->Count());
+ return pMergeTable && !pMergeTable->empty();
}
diff --git a/svl/source/misc/inettype.cxx b/svl/source/misc/inettype.cxx
index c68e528..edf11cb 100644
--- a/svl/source/misc/inettype.cxx
+++ b/svl/source/misc/inettype.cxx
@@ -26,7 +26,6 @@
*
************************************************************************/
-#include <tools/table.hxx>
#include <tools/wldcrd.hxx>
#include <rtl/instance.hxx>
#include <svl/inettype.hxx>
diff --git a/svl/source/numbers/numfmuno.cxx b/svl/source/numbers/numfmuno.cxx
index cd7761e..ceb316b 100644
--- a/svl/source/numbers/numfmuno.cxx
+++ b/svl/source/numbers/numfmuno.cxx
@@ -463,11 +463,12 @@ uno::Sequence<sal_Int32> SAL_CALL SvNumberFormatsObj::queryKeys( sal_Int16
nType
SvNumberFormatTable& rTable = bCreate ?
pFormatter->ChangeCL( nType, nIndex, eLang ) :
pFormatter->GetEntryTable( nType, nIndex, eLang );
- sal_uInt32 nCount = rTable.Count();
+ sal_uInt32 nCount = rTable.size();
uno::Sequence<sal_Int32> aSeq(nCount);
sal_Int32* pAry = aSeq.getArray();
- for (sal_uInt32 i=0; i<nCount; i++)
- pAry[i] = rTable.GetObjectKey( i );
+ sal_uInt32 i=0;
+ for (SvNumberFormatTable::iterator it = rTable.begin(); it != rTable.end(); ++it,
++i)
+ pAry[i] = it->first;
return aSeq;
}
diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx
index 1f5085d..e540ac3 100644
--- a/svl/source/numbers/zforlist.cxx
+++ b/svl/source/numbers/zforlist.cxx
@@ -62,6 +62,7 @@ using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::i18n;
using namespace ::com::sun::star::lang;
+using namespace ::std;
using ::rtl::OUString;
@@ -215,12 +216,8 @@ SvNumberFormatter::~SvNumberFormatter()
}
}
- SvNumberformat* pEntry = aFTable.First();
- while (pEntry)
- {
- delete pEntry;
- pEntry = aFTable.Next();
- }
+ for (SvNumberFormatTable::iterator it = aFTable.begin(); it != aFTable.end(); ++it)
+ delete it->second;
delete pFormatTable;
delete pCharClass;
delete pStringScanner;
@@ -360,24 +357,21 @@ void SvNumberFormatter::ImpChangeSysCL( LanguageType eLnge, bool bLoadingSO5 )
{
IniLnge = eLnge;
ChangeIntl(eLnge);
- SvNumberformat* pEntry = aFTable.First();
- while (pEntry) // delete old formats
- {
- pEntry = (SvNumberformat*) aFTable.Remove(aFTable.GetCurKey());
- delete pEntry;
- pEntry = (SvNumberformat*) aFTable.First();
- }
+ // delete old formats
+ for (SvNumberFormatTable::iterator it = aFTable.begin(); it != aFTable.end(); ++it)
+ delete it->second;
ImpGenerateFormats( 0, bLoadingSO5 ); // new standard formats
}
else if ( bLoadingSO5 )
{ // delete additional standard formats
sal_uInt32 nKey;
- aFTable.Seek( SV_MAX_ANZ_STANDARD_FORMATE + 1 );
- while ( (nKey = aFTable.GetCurKey()) > SV_MAX_ANZ_STANDARD_FORMATE &&
+ SvNumberFormatTable::iterator it = aFTable.find( SV_MAX_ANZ_STANDARD_FORMATE + 1 );
+ while ( (nKey = it->first) > SV_MAX_ANZ_STANDARD_FORMATE &&
nKey < SV_COUNTRY_LANGUAGE_OFFSET )
{
- SvNumberformat* pEntry = (SvNumberformat*) aFTable.Remove( nKey );
- delete pEntry;
+ delete it->second;
+ aFTable.erase( it );
+ ++it;
}
}
}
@@ -394,19 +388,21 @@ void SvNumberFormatter::ReplaceSystemCL( LanguageType eOldLanguage )
sal_uInt32 nKey;
// remove old builtin formats
- aFTable.Seek( nCLOffset );
- while ( (nKey = aFTable.GetCurKey()) >= nCLOffset && nKey <= nMaxBuiltin && aFTable.Count() )
+ SvNumberFormatTable::iterator it = aFTable.find( nCLOffset );
+ while ( it != aFTable.end() && (nKey = it->first) >= nCLOffset && nKey <= nMaxBuiltin )
{
- SvNumberformat* pEntry = (SvNumberformat*) aFTable.Remove( nKey );
- delete pEntry;
+ delete it->second;
+ aFTable.erase( it );
+ ++it;
}
// move additional and user defined to temporary table
- Table aOldTable;
- while ( (nKey = aFTable.GetCurKey()) >= nCLOffset && nKey < nNextCL && aFTable.Count() )
+ SvNumberFormatTable aOldTable;
+ while ( it != aFTable.end() && (nKey = it->first) >= nCLOffset && nKey < nNextCL )
{
- SvNumberformat* pEntry = (SvNumberformat*) aFTable.Remove( nKey );
- aOldTable.Insert( nKey, pEntry );
+ aOldTable[ nKey ] = it->second;
+ aFTable.erase( it );
+ ++it;
}
// generate new old builtin formats
@@ -416,16 +412,16 @@ void SvNumberFormatter::ReplaceSystemCL( LanguageType eOldLanguage )
ImpGenerateFormats( nCLOffset, true );
// convert additional and user defined from old system to new system
- SvNumberformat* pStdFormat = (SvNumberformat*) aFTable.Get( nCLOffset + ZF_STANDARD );
+ SvNumberformat* pStdFormat = GetFormatEntry( nCLOffset + ZF_STANDARD );
sal_uInt32 nLastKey = nMaxBuiltin;
pFormatScanner->SetConvertMode( eOldLanguage, LANGUAGE_SYSTEM, true );
- aOldTable.First();
- while ( aOldTable.Count() )
+ while ( !aOldTable.empty() )
{
- nKey = aOldTable.GetCurKey();
+ nKey = aOldTable.begin()->first;
if ( nLastKey < nKey )
nLastKey = nKey;
- SvNumberformat* pOldEntry = (SvNumberformat*) aOldTable.Remove( nKey );
+ SvNumberformat* pOldEntry = aOldTable.begin()->second;
+ aOldTable.erase( nKey );
String aString( pOldEntry->GetFormatstring() );
xub_StrLen nCheckPos = STRING_NOTFOUND;
@@ -446,7 +442,7 @@ void SvNumberFormatter::ReplaceSystemCL( LanguageType eOldLanguage )
else
pNewEntry->SetType( NUMBERFORMAT_DEFINED );
- if ( !aFTable.Insert( nKey, pNewEntry ) )
+ if ( !aFTable.insert( make_pair(nKey, pNewEntry) ).second )
delete pNewEntry;
else
bCheck = true;
@@ -467,7 +463,7 @@ void SvNumberFormatter::ReplaceSystemCL( LanguageType eOldLanguage )
bool SvNumberFormatter::IsTextFormat(sal_uInt32 F_Index) const
{
- SvNumberformat* pFormat = (SvNumberformat*) aFTable.Get(F_Index);
+ const SvNumberformat* pFormat = GetFormatEntry(F_Index);
if (!pFormat)
return false;
else
@@ -518,14 +514,14 @@ bool SvNumberFormatter::PutEntry(String& rString,
else
{
SvNumberformat* pStdFormat =
- (SvNumberformat*) aFTable.Get(CLOffset + ZF_STANDARD);
+ GetFormatEntry(CLOffset + ZF_STANDARD);
sal_uInt32 nPos = CLOffset + pStdFormat->GetLastInsertKey();
if (nPos - CLOffset >= SV_COUNTRY_LANGUAGE_OFFSET)
{
OSL_FAIL("SvNumberFormatter:: Zu viele Formate pro CL");
delete p_Entry;
}
- else if (!aFTable.Insert(nPos+1,p_Entry))
+ else if (!aFTable.insert(make_pair(nPos+1,p_Entry)).second)
delete p_Entry;
else
{
@@ -658,8 +654,8 @@ sal_uInt32 SvNumberFormatter::GetIndexPuttingAndConverting( String & rString,
void SvNumberFormatter::DeleteEntry(sal_uInt32 nKey)
{
- SvNumberformat* pEntry = aFTable.Remove(nKey);
- delete pEntry;
+ delete aFTable[nKey];
+ aFTable.erase(nKey);
}
bool SvNumberFormatter::Load( SvStream& rStream )
@@ -820,11 +816,11 @@ bool SvNumberFormatter::Load( SvStream& rStream )
}
if ( nOffset == 0 ) // StandardFormat
{
- SvNumberformat* pEnt = aFTable.Get(nPos);
+ SvNumberformat* pEnt = GetFormatEntry(nPos);
if (pEnt)
pEnt->SetLastInsertKey(pEntry->GetLastInsertKey());
}
- if (!aFTable.Insert(nPos, pEntry))
+ if (!aFTable.insert(make_pair(nPos, pEntry)).second)
delete pEntry;
rStream >> nPos;
}
@@ -873,23 +869,24 @@ bool SvNumberFormatter::Save( SvStream& rStream ) const
// ab 364i wird gespeichert was SYSTEM wirklich war, vorher hart LANGUAGE_SYSTEM
rStream << (sal_uInt16) SV_NUMBERFORMATTER_VERSION;
rStream << (sal_uInt16) SvtSysLocale().GetLanguage() << (sal_uInt16) IniLnge;
- SvNumberFormatTable* pTable = (SvNumberFormatTable*) &aFTable;
- SvNumberformat* pEntry = (SvNumberformat*) pTable->First();
- while (pEntry)
+ const SvNumberFormatTable* pTable = &aFTable;
+ SvNumberFormatTable::const_iterator it = pTable->begin();
+ while (it != pTable->end())
{
+ SvNumberformat* pEntry = it->second;
// Gespeichert werden alle markierten, benutzerdefinierten Formate und
// jeweils das Standardformat zu allen angewaehlten CL-Kombinationen
// sowie NewStandardDefined
if ( pEntry->GetUsed() || (pEntry->GetType() & NUMBERFORMAT_DEFINED) ||
pEntry->GetNewStandardDefined() ||
- (pTable->GetCurKey() % SV_COUNTRY_LANGUAGE_OFFSET == 0) )
+ (it->first % SV_COUNTRY_LANGUAGE_OFFSET == 0) )
{
- rStream << static_cast<sal_uInt32>(pTable->GetCurKey())
+ rStream << it->first
<< (sal_uInt16) LANGUAGE_SYSTEM
<< (sal_uInt16) pEntry->GetLanguage();
pEntry->Save(rStream, aHdr);
}
- pEntry = (SvNumberformat*) pTable->Next();
+ ++it;
}
rStream << NUMBERFORMAT_ENTRY_NOT_FOUND; // EndeKennung
@@ -911,7 +908,7 @@ void SvNumberFormatter::GetUsedLanguages( std::vector<sal_uInt16>& rList )
sal_uInt32 nOffset = 0;
while (nOffset <= MaxCLOffset)
{
- SvNumberformat* pFormat = (SvNumberformat*) aFTable.Get(nOffset);
+ SvNumberformat* pFormat = GetFormatEntry(nOffset);
if (pFormat)
rList.push_back( pFormat->GetLanguage() );
nOffset += SV_COUNTRY_LANGUAGE_OFFSET;
@@ -952,11 +949,10 @@ String SvNumberFormatter::GetStandardName( LanguageType eLnge )
sal_uInt32 SvNumberFormatter::ImpGetCLOffset(LanguageType eLnge) const
{
- SvNumberformat* pFormat;
sal_uInt32 nOffset = 0;
while (nOffset <= MaxCLOffset)
{
- pFormat = (SvNumberformat*) aFTable.Get(nOffset);
+ const SvNumberformat* pFormat = GetFormatEntry(nOffset);
if (pFormat && pFormat->GetLanguage() == eLnge)
return nOffset;
nOffset += SV_COUNTRY_LANGUAGE_OFFSET;
@@ -969,15 +965,14 @@ sal_uInt32 SvNumberFormatter::ImpIsEntry(const String& rString,
LanguageType eLnge)
{
sal_uInt32 res = NUMBERFORMAT_ENTRY_NOT_FOUND;
- SvNumberformat* pEntry;
- pEntry = (SvNumberformat*) aFTable.Seek(nCLOffset);
+ SvNumberFormatTable::iterator it = aFTable.find(nCLOffset);
while ( res == NUMBERFORMAT_ENTRY_NOT_FOUND &&
- pEntry && pEntry->GetLanguage() == eLnge )
+ it != aFTable.end() && it->second->GetLanguage() == eLnge )
{
- if ( rString == pEntry->GetFormatstring() )
- res = aFTable.GetCurKey();
+ if ( rString == it->second->GetFormatstring() )
+ res = it->first;
else
- pEntry = (SvNumberformat*) aFTable.Next();
+ ++it;
}
return res;
}
@@ -993,7 +988,7 @@ SvNumberFormatTable& SvNumberFormatter::GetFirstEntryTable(
rLnge = IniLnge;
else
{
- SvNumberformat* pFormat = (SvNumberformat*) aFTable.Get(FIndex);
+ SvNumberformat* pFormat = GetFormatEntry(FIndex);
if (!pFormat)
{
// OSL_FAIL("SvNumberFormatter:: Unbekanntes altes Zahlformat (1)");
@@ -1105,7 +1100,7 @@ SvNumberFormatTable& SvNumberFormatter::GetEntryTable(
LanguageType eLnge)
{
if ( pFormatTable )
- pFormatTable->Clear();
+ pFormatTable->clear();
else
pFormatTable = new SvNumberFormatTable;
ChangeIntl(eLnge);
@@ -1115,30 +1110,29 @@ SvNumberFormatTable& SvNumberFormatter::GetEntryTable(
// (e.g. currency) => has to be done before collecting formats.
sal_uInt32 nDefaultIndex = GetStandardFormat( eType, ActLnge );
- SvNumberformat* pEntry;
- pEntry = (SvNumberformat*) aFTable.Seek(CLOffset);
+ SvNumberFormatTable::iterator it = aFTable.find(CLOffset);
if (eType == NUMBERFORMAT_ALL)
{
- while (pEntry && pEntry->GetLanguage() == ActLnge)
+ while (it != aFTable.end() && it->second->GetLanguage() == ActLnge)
{ // copy all entries to output table
- pFormatTable->Insert( aFTable.GetCurKey(), pEntry );
- pEntry = (SvNumberformat*) aFTable.Next();
+ (*pFormatTable)[ it->first ] = it->second;
+ ++it;
}
}
else
{
- while (pEntry && pEntry->GetLanguage() == ActLnge)
+ while (it != aFTable.end() && it->second->GetLanguage() == ActLnge)
{ // copy entries of queried type to output table
- if ((pEntry->GetType()) & eType)
- pFormatTable->Insert(aFTable.GetCurKey(),pEntry);
- pEntry = (SvNumberformat*) aFTable.Next();
+ if ((it->second->GetType()) & eType)
+ (*pFormatTable)[ it->first ] = it->second;
+ ++it;
}
}
- if ( pFormatTable->Count() > 0 )
+ if ( !pFormatTable->empty() )
{ // select default if queried format doesn't exist or queried type or
// language differ from existing format
- pEntry = aFTable.Get(FIndex);
+ SvNumberformat* pEntry = GetFormatEntry(FIndex);
if ( !pEntry || !(pEntry->GetType() & eType) || pEntry->GetLanguage() != ActLnge )
FIndex = nDefaultIndex;
}
@@ -1150,7 +1144,7 @@ bool SvNumberFormatter::IsNumberFormat(const String& sString,
double& fOutNumber)
{
short FType;
- const SvNumberformat* pFormat = (SvNumberformat*) aFTable.Get(F_Index);
+ const SvNumberformat* pFormat = GetFormatEntry(F_Index);
if (!pFormat)
{
ChangeIntl(IniLnge);
@@ -1293,25 +1287,25 @@ sal_uInt32 SvNumberFormatter::ImpGetDefaultFormat( short nType )
default:
nSearch = CLOffset + ZF_STANDARD;
}
- sal_uInt32 nDefaultFormat = (sal_uInt32)(sal_uLong) aDefaultFormatKeys.Get( nSearch );
- if ( !nDefaultFormat )
- nDefaultFormat = NUMBERFORMAT_ENTRY_NOT_FOUND;
+ sal_uInt32 nDefaultFormat = NUMBERFORMAT_ENTRY_NOT_FOUND;
+ DefaultFormatKeysMap::iterator it = aDefaultFormatKeys.find(nSearch);
+ if ( it != aDefaultFormatKeys.end() )
+ nDefaultFormat = it->second;
if ( nDefaultFormat == NUMBERFORMAT_ENTRY_NOT_FOUND )
{ // look for a defined standard
sal_uInt32 nStopKey = CLOffset + SV_COUNTRY_LANGUAGE_OFFSET;
sal_uInt32 nKey;
- aFTable.Seek( CLOffset );
- while ( (nKey = aFTable.GetCurKey()) >= CLOffset && nKey < nStopKey )
+ SvNumberFormatTable::iterator it2 = aFTable.find( CLOffset );
+ while ( (nKey = it2->first ) >= CLOffset && nKey < nStopKey )
{
- const SvNumberformat* pEntry =
- (const SvNumberformat*) aFTable.GetCurObject();
+ const SvNumberformat* pEntry = it2->second;
if ( pEntry->IsStandard() && ((pEntry->GetType() &
~NUMBERFORMAT_DEFINED) == nType) )
{
nDefaultFormat = nKey;
break; // while
}
- aFTable.Next();
+ ++it2;
}
if ( nDefaultFormat == NUMBERFORMAT_ENTRY_NOT_FOUND )
@@ -1338,7 +1332,7 @@ sal_uInt32 SvNumberFormatter::ImpGetDefaultFormat( short nType )
}
}
sal_uIntPtr nFormat = nDefaultFormat;
- aDefaultFormatKeys.Insert( nSearch, (void*) nFormat );
+ aDefaultFormatKeys[ nSearch ] = nFormat;
}
return nDefaultFormat;
}
@@ -1495,11 +1489,10 @@ void SvNumberFormatter::GetInputLineString(const double& fOutNumber,
sal_uInt32 nFIndex,
String& sOutString)
{
- SvNumberformat* pFormat;
Color* pColor;
- pFormat = (SvNumberformat*) aFTable.Get(nFIndex);
+ SvNumberformat* pFormat = GetFormatEntry( nFIndex );
if (!pFormat)
- pFormat = aFTable.Get(ZF_STANDARD);
+ pFormat = GetFormatEntry(ZF_STANDARD);
LanguageType eLang = pFormat->GetLanguage();
ChangeIntl( eLang );
short eType = pFormat->GetType() & ~NUMBERFORMAT_DEFINED;
@@ -1519,7 +1512,7 @@ void SvNumberFormatter::GetInputLineString(const double& fOutNumber,
}
sal_uInt32 nKey = GetEditFormat( fOutNumber, nFIndex, eType, eLang, pFormat);
if ( nKey != nFIndex )
- pFormat = (SvNumberformat*) aFTable.Get( nKey );
+ pFormat = GetFormatEntry( nKey );
if (pFormat)
{
if ( eType == NUMBERFORMAT_TIME && pFormat->GetFormatPrecision() )
@@ -1552,9 +1545,9 @@ void SvNumberFormatter::GetOutputString(const double& fOutNumber,
sOutString.Erase();
return;
}
- SvNumberformat* pFormat = (SvNumberformat*) aFTable.Get(nFIndex);
+ SvNumberformat* pFormat = GetFormatEntry( nFIndex );
if (!pFormat)
- pFormat = aFTable.Get(ZF_STANDARD);
+ pFormat = GetFormatEntry(ZF_STANDARD);
ChangeIntl(pFormat->GetLanguage());
pFormat->GetOutputString(fOutNumber, sOutString, ppColor);
}
@@ -1564,9 +1557,9 @@ void SvNumberFormatter::GetOutputString(String& sString,
String& sOutString,
Color** ppColor)
{
- SvNumberformat* pFormat = (SvNumberformat*) aFTable.Get(nFIndex);
+ SvNumberformat* pFormat = GetFormatEntry( nFIndex );
if (!pFormat)
- pFormat = aFTable.Get(ZF_STANDARD_TEXT);
+ pFormat = GetFormatEntry(ZF_STANDARD_TEXT);
if (!pFormat->IsTextFormat() && !pFormat->HasTextFormat())
{
*ppColor = NULL;
@@ -1894,7 +1887,7 @@ SvNumberformat* SvNumberFormatter::ImpInsertFormat(
return NULL;
}
}
- if ( !aFTable.Insert( nPos, pFormat ) )
+ if ( !aFTable.insert( make_pair(nPos, pFormat) ).second )
{
if (LocaleDataWrapper::areChecksEnabled())
{
@@ -1938,7 +1931,7 @@ void SvNumberFormatter::GetFormatSpecialInfo(sal_uInt32 nFormat,
sal_uInt16& nAnzLeading)
{
- const SvNumberformat* pFormat = aFTable.Get(nFormat);
+ SvNumberformat* pFormat = GetFormatEntry( nFormat );
if (pFormat)
pFormat->GetFormatSpecialInfo(bThousand, IsRed,
nPrecision, nAnzLeading);
@@ -1953,7 +1946,7 @@ void SvNumberFormatter::GetFormatSpecialInfo(sal_uInt32 nFormat,
sal_uInt16 SvNumberFormatter::GetFormatPrecision( sal_uInt32 nFormat ) const
{
- const SvNumberformat* pFormat = aFTable.Get( nFormat );
+ const SvNumberformat* pFormat = GetFormatEntry( nFormat );
if ( pFormat )
return pFormat->GetFormatPrecision();
else
@@ -1963,7 +1956,7 @@ sal_uInt16 SvNumberFormatter::GetFormatPrecision( sal_uInt32 nFormat ) const
String SvNumberFormatter::GetFormatDecimalSep( sal_uInt32 nFormat ) const
{
- const SvNumberformat* pFormat = aFTable.Get( nFormat );
+ const SvNumberformat* pFormat = GetFormatEntry(nFormat);
if ( !pFormat || pFormat->GetLanguage() == ActLnge )
return GetNumDecimalSep();
@@ -2188,6 +2181,21 @@ sal_Int32 SvNumberFormatter::ImpAdjustFormatCodeDefault(
return nDef;
}
+SvNumberformat* SvNumberFormatter::GetFormatEntry(sal_uInt32 nKey)
+{
+ SvNumberFormatTable::iterator it = aFTable.find(nKey);
+ if (it != aFTable.end())
+ return it->second;
+ return 0;
+}
+
+const SvNumberformat* SvNumberFormatter::GetFormatEntry(sal_uInt32 nKey) const
+{
+ SvNumberFormatTable::const_iterator it = aFTable.find(nKey);
+ if (it != aFTable.end())
+ return it->second;
+ return 0;
+}
void SvNumberFormatter::ImpGenerateFormats( sal_uInt32 CLOffset, bool bLoadingSO5 )
{
@@ -2259,9 +2267,9 @@ void SvNumberFormatter::ImpGenerateFormats( sal_uInt32 CLOffset, bool
bLoadingSO
pFormatScanner, pStringScanner, nCheckPos, ActLnge );
pNewFormat->SetType(NUMBERFORMAT_LOGICAL);
pNewFormat->SetStandard();
- if ( !aFTable.Insert(
+ if ( !aFTable.insert(make_pair(
CLOffset + SetIndexTable( NF_BOOLEAN, ZF_STANDARD_LOGICAL ),
- pNewFormat))
+ pNewFormat)).second)
delete pNewFormat;
// Text
@@ -2270,9 +2278,9 @@ void SvNumberFormatter::ImpGenerateFormats( sal_uInt32 CLOffset, bool
bLoadingSO
pFormatScanner, pStringScanner, nCheckPos, ActLnge );
pNewFormat->SetType(NUMBERFORMAT_TEXT);
pNewFormat->SetStandard();
- if ( !aFTable.Insert(
+ if ( !aFTable.insert(make_pair(
CLOffset + SetIndexTable( NF_TEXT, ZF_STANDARD_TEXT ),
- pNewFormat))
+ pNewFormat)).second)
delete pNewFormat;
@@ -2642,8 +2650,7 @@ void SvNumberFormatter::ImpGenerateAdditionalFormats( sal_uInt32 CLOffset,
{
using namespace ::com::sun::star;
- SvNumberformat* pStdFormat =
- (SvNumberformat*) aFTable.Get( CLOffset + ZF_STANDARD );
+ SvNumberformat* pStdFormat = GetFormatEntry( CLOffset + ZF_STANDARD );
if ( !pStdFormat )
{
SAL_WARN( "svl.numbers", "ImpGenerateAdditionalFormats: no GENERAL format" );
@@ -2747,7 +2754,7 @@ void SvNumberFormatter::GenerateFormat(String& sString,
const xub_StrLen nDigitsInFirstGroup = static_cast<xub_StrLen>(aGrouping.get());
const String& rThSep = GetNumThousandSep();
- SvNumberformat* pFormat = (SvNumberformat*) aFTable.Get(nIndex);
+ SvNumberformat* pFormat = GetFormatEntry( nIndex );
if (nAnzLeading == 0)
{
@@ -2891,7 +2898,7 @@ bool SvNumberFormatter::IsUserDefined(const String& sStr,
sal_uInt32 nKey = ImpIsEntry(sStr, CLOffset, eLnge);
if (nKey == NUMBERFORMAT_ENTRY_NOT_FOUND)
return true;
- SvNumberformat* pEntry = aFTable.Get(nKey);
+ SvNumberformat* pEntry = GetFormatEntry( nKey );
if ( pEntry && ((pEntry->GetType() & NUMBERFORMAT_DEFINED) != 0) )
return true;
return false;
@@ -2917,7 +2924,7 @@ sal_uInt32 SvNumberFormatter::GetStandardIndex(LanguageType eLnge)
short SvNumberFormatter::GetType(sal_uInt32 nFIndex)
{
short eType;
- SvNumberformat* pFormat = (SvNumberformat*) aFTable.Get(nFIndex);
+ SvNumberformat* pFormat = GetFormatEntry( nFIndex );
if (!pFormat)
eType = NUMBERFORMAT_UNDEFINED;
else
@@ -2933,13 +2940,7 @@ void SvNumberFormatter::ClearMergeTable()
{
if ( pMergeTable )
{
- sal_uInt32* pIndex = (sal_uInt32*) pMergeTable->First();
- while (pIndex)
- {
- delete pIndex;
- pIndex = pMergeTable->Next();
- }
- pMergeTable->Clear();
+ pMergeTable->clear();
}
}
@@ -2951,12 +2952,12 @@ SvNumberFormatterIndexTable*
SvNumberFormatter::MergeFormatter(SvNumberFormatter
pMergeTable = new SvNumberFormatterIndexTable;
sal_uInt32 nCLOffset = 0;
sal_uInt32 nOldKey, nOffset, nNewKey;
- sal_uInt32* pNewIndex;
SvNumberformat* pNewEntry;
- SvNumberformat* pFormat = rTable.aFTable.First();
- while (pFormat)
+ SvNumberFormatTable::iterator it = rTable.aFTable.begin();
+ while (it != rTable.aFTable.end())
{
- nOldKey = rTable.aFTable.GetCurKey();
+ SvNumberformat* pFormat = it->second;
+ nOldKey = it->first;
nOffset = nOldKey % SV_COUNTRY_LANGUAGE_OFFSET; // relativIndex
if (nOffset == 0) // 1. Format von CL
nCLOffset = ImpGenerateCL(pFormat->GetLanguage());
@@ -2964,18 +2965,16 @@ SvNumberFormatterIndexTable*
SvNumberFormatter::MergeFormatter(SvNumberFormatter
if (nOffset <= SV_MAX_ANZ_STANDARD_FORMATE) // Std.form.
{
nNewKey = nCLOffset + nOffset;
- if (!aFTable.Get(nNewKey)) // noch nicht da
+ if (aFTable.find(nNewKey) == aFTable.end()) // noch nicht da
{
// pNewEntry = new SvNumberformat(*pFormat); // Copy reicht nicht !!!
pNewEntry = new SvNumberformat( *pFormat, *pFormatScanner );
- if (!aFTable.Insert(nNewKey, pNewEntry))
+ if (!aFTable.insert(make_pair(nNewKey, pNewEntry)).second)
delete pNewEntry;
}
if (nNewKey != nOldKey) // neuer Index
{
- pNewIndex = new sal_uInt32(nNewKey);
- if (!pMergeTable->Insert(nOldKey,pNewIndex))
- delete pNewIndex;
+ (*pMergeTable)[nOldKey] = nNewKey;
}
}
else // benutzerdef.
@@ -2990,7 +2989,7 @@ SvNumberFormatterIndexTable*
SvNumberFormatter::MergeFormatter(SvNumberFormatter
else
{
SvNumberformat* pStdFormat =
- (SvNumberformat*) aFTable.Get(nCLOffset + ZF_STANDARD);
+ GetFormatEntry(nCLOffset + ZF_STANDARD);
sal_uInt32 nPos = nCLOffset + pStdFormat->GetLastInsertKey();
nNewKey = nPos+1;
if (nPos - nCLOffset >= SV_COUNTRY_LANGUAGE_OFFSET)
@@ -2999,19 +2998,17 @@ SvNumberFormatterIndexTable*
SvNumberFormatter::MergeFormatter(SvNumberFormatter
"SvNumberFormatter:: Zu viele Formate pro CL");
delete pNewEntry;
}
- else if (!aFTable.Insert(nNewKey, pNewEntry))
+ else if (!aFTable.insert(make_pair(nNewKey, pNewEntry)).second)
delete pNewEntry;
else
pStdFormat->SetLastInsertKey((sal_uInt16) (nNewKey - nCLOffset));
}
if (nNewKey != nOldKey) // neuer Index
{
- pNewIndex = new sal_uInt32(nNewKey);
- if (!pMergeTable->Insert(nOldKey,pNewIndex))
- delete pNewIndex;
+ (*pMergeTable)[nOldKey] = nNewKey;
}
}
- pFormat = rTable.aFTable.Next();
+ ++it;
}
return pMergeTable;
}
@@ -3023,11 +3020,11 @@ SvNumberFormatterMergeMap SvNumberFormatter::ConvertMergeTableToMap()
return SvNumberFormatterMergeMap();
SvNumberFormatterMergeMap aMap;
- for (sal_uInt32* pIndex = pMergeTable->First(); pIndex; pIndex = pMergeTable->Next())
- {
- sal_uInt32 nOldKey = pMergeTable->GetCurKey();
- aMap.insert( SvNumberFormatterMergeMap::value_type( nOldKey, *pIndex));
- }
+ for (SvNumberFormatterIndexTable::iterator it = pMergeTable->begin(); it !=
pMergeTable->end(); ++it)
+ {
+ sal_uInt32 nOldKey = it->first;
+ aMap[ nOldKey ] = it->second;
+ }
ClearMergeTable();
return aMap;
}
@@ -3261,26 +3258,27 @@ sal_uInt32 SvNumberFormatter::ImpGetDefaultSystemCurrencyFormat()
sal_uInt32 SvNumberFormatter::ImpGetDefaultCurrencyFormat()
{
sal_uInt32 CLOffset = ImpGetCLOffset( ActLnge );
- sal_uInt32 nDefaultCurrencyFormat =
- (sal_uInt32)(sal_uLong) aDefaultFormatKeys.Get( CLOffset + ZF_STANDARD_CURRENCY );
- if ( !nDefaultCurrencyFormat )
+ sal_uInt32 nDefaultCurrencyFormat;
+ DefaultFormatKeysMap::iterator it = aDefaultFormatKeys.find( CLOffset +
ZF_STANDARD_CURRENCY );
+ if ( it != aDefaultFormatKeys.end() )
+ nDefaultCurrencyFormat = it->second;
+ else
nDefaultCurrencyFormat = NUMBERFORMAT_ENTRY_NOT_FOUND;
if ( nDefaultCurrencyFormat == NUMBERFORMAT_ENTRY_NOT_FOUND )
{
// look for a defined standard
sal_uInt32 nStopKey = CLOffset + SV_COUNTRY_LANGUAGE_OFFSET;
sal_uInt32 nKey;
- aFTable.Seek( CLOffset );
- while ( (nKey = aFTable.GetCurKey()) >= CLOffset && nKey < nStopKey )
+ SvNumberFormatTable::iterator it2 = aFTable.lower_bound( CLOffset );
+ while ( (nKey = it2->first) >= CLOffset && nKey < nStopKey )
{
- const SvNumberformat* pEntry =
- (const SvNumberformat*) aFTable.GetCurObject();
+ const SvNumberformat* pEntry = it2->second;
if ( pEntry->IsStandard() && (pEntry->GetType() & NUMBERFORMAT_CURRENCY) )
{
nDefaultCurrencyFormat = nKey;
break; // while
}
- aFTable.Next();
+ ++it2;
}
if ( nDefaultCurrencyFormat == NUMBERFORMAT_ENTRY_NOT_FOUND )
@@ -3306,14 +3304,13 @@ sal_uInt32 SvNumberFormatter::ImpGetDefaultCurrencyFormat()
nDefaultCurrencyFormat = CLOffset + ZF_STANDARD_CURRENCY+3;
else
{ // mark as standard so that it is found next time
- SvNumberformat* pEntry = aFTable.Get( nDefaultCurrencyFormat );
+ SvNumberformat* pEntry = GetFormatEntry( nDefaultCurrencyFormat );
if ( pEntry )
pEntry->SetStandard();
}
}
sal_uIntPtr nFormat = nDefaultCurrencyFormat;
- aDefaultFormatKeys.Insert( CLOffset + ZF_STANDARD_CURRENCY,
- (void*) nFormat );
+ aDefaultFormatKeys[ CLOffset + ZF_STANDARD_CURRENCY ] = nFormat;
}
return nDefaultCurrencyFormat;
}
@@ -3375,7 +3372,7 @@ bool SvNumberFormatter::GetNewCurrencySymbolString( sal_uInt32 nFormat,
*ppEntry = NULL;
if ( pBank )
*pBank = false;
- SvNumberformat* pFormat = (SvNumberformat*) aFTable.Get( nFormat );
+ const SvNumberformat* pFormat = GetFormatEntry(nFormat);
if ( pFormat )
{
String aSymbol, aExtension;
diff --git a/svx/inc/svx/numfmtsh.hxx b/svx/inc/svx/numfmtsh.hxx
index e9b4772..32a7da3 100644
--- a/svx/inc/svx/numfmtsh.hxx
+++ b/svx/inc/svx/numfmtsh.hxx
@@ -36,10 +36,12 @@
#include <svl/svstdarr.hxx>
#include <vector>
+#include <map>
class Color;
class SvNumberFormatter;
-class SvNumberFormatTable;
+class SvNumberformat;
+typedef std::map<sal_uInt32, SvNumberformat*> SvNumberFormatTable;
class NfCurrencyEntry;
enum SvxNumberValueType
diff --git a/svx/source/items/numfmtsh.cxx b/svx/source/items/numfmtsh.cxx
index c76f7a4..4c23829 100644
--- a/svx/source/items/numfmtsh.cxx
+++ b/svx/source/items/numfmtsh.cxx
@@ -672,7 +672,7 @@ short SvxNumberFormatShell::FillEListWithFormats_Impl( std::vector<String*>& rLi
DBG_ASSERT( pCurFmtTable != NULL, "Unbekanntes Zahlenformat!" );
- const SvNumberformat* pNumEntry = pCurFmtTable->First();
+ const SvNumberformat* pNumEntry = pCurFmtTable->empty() ? 0 :
pCurFmtTable->begin()->second;
sal_uInt32 nNFEntry;
String aStrComment;
String aNewFormNInfo;
@@ -717,7 +717,7 @@ short SvxNumberFormatShell::FillEListWithDateTime_Impl( std::vector<String*>& rL
DBG_ASSERT( pCurFmtTable != NULL, "Unbekanntes Zahlenformat!" );
- const SvNumberformat* pNumEntry = pCurFmtTable->First();
+ const SvNumberformat* pNumEntry = pCurFmtTable->empty() ? 0 :
pCurFmtTable->begin()->second;
sal_uInt32 nNFEntry;
String aStrComment;
String aNewFormNInfo;
@@ -801,7 +801,7 @@ short SvxNumberFormatShell::FillEListWithSysCurrencys( std::vector<String*>& rLi
DBG_ASSERT( pCurFmtTable != NULL, "Unbekanntes Zahlenformat!" );
- const SvNumberformat* pNumEntry = pCurFmtTable->First();
+ const SvNumberformat* pNumEntry = pCurFmtTable->empty() ? 0 :
pCurFmtTable->begin()->second;
sal_uInt32 nNFEntry;
String aStrComment;
String aNewFormNInfo;
@@ -842,10 +842,12 @@ short SvxNumberFormatShell::FillEListWithSysCurrencys( std::vector<String*>&
rLi
if(nCurCategory!=NUMBERFORMAT_ALL)
{
- pNumEntry = pCurFmtTable->First();
- while ( pNumEntry )
+ SvNumberFormatTable::iterator it = pCurFmtTable->begin();
+
+ while ( it != pCurFmtTable->end() )
{
- sal_uInt32 nKey = pCurFmtTable->GetCurKey();
+ sal_uInt32 nKey = it->first;
+ pNumEntry = it->second;
if ( !IsRemoved_Impl( nKey ))
{
@@ -876,7 +878,7 @@ short SvxNumberFormatShell::FillEListWithSysCurrencys( std::vector<String*>& rLi
aCurEntryList.push_back( nKey );
}
}
- pNumEntry = pCurFmtTable->Next();
+ ++it;
}
}
return nSelPos;
@@ -943,11 +945,11 @@ short SvxNumberFormatShell::FillEListWithUserCurrencys( std::vector<String*>&
rL
pTmpCurrencyEntry->BuildSymbolString(rShortSymbol,bTmpBanking,true);
}
- const SvNumberformat* pNumEntry = pCurFmtTable->First();
-
- while ( pNumEntry )
+ SvNumberFormatTable::iterator it = pCurFmtTable->begin();
+ while ( it != pCurFmtTable->end() )
{
- sal_uInt32 nKey = pCurFmtTable->GetCurKey();
+ sal_uInt32 nKey = it->first;
+ const SvNumberformat* pNumEntry = it->second;
if ( !IsRemoved_Impl( nKey ) )
{
@@ -992,7 +994,7 @@ short SvxNumberFormatShell::FillEListWithUserCurrencys( std::vector<String*>& rL
}
}
}
- pNumEntry = pCurFmtTable->Next();
+ ++it;
}
NfWSStringsDtor aWSStringsDtor;
@@ -1090,7 +1092,6 @@ short SvxNumberFormatShell::FillEListWithUsD_Impl( std::vector<String*>&
rList,
DBG_ASSERT( pCurFmtTable != NULL, "Unbekanntes Zahlenformat!" );
- const SvNumberformat* pNumEntry = pCurFmtTable->First();
String aStrComment;
String aNewFormNInfo;
String aPrevString;
@@ -1100,9 +1101,11 @@ short SvxNumberFormatShell::FillEListWithUsD_Impl( std::vector<String*>&
rList,
bool bAdditional = (nPrivCat != CAT_USERDEFINED &&
nCurCategory != NUMBERFORMAT_ALL);
- while ( pNumEntry )
+ SvNumberFormatTable::iterator it = pCurFmtTable->begin();
+ while ( it != pCurFmtTable->end() )
{
- sal_uInt32 nKey = pCurFmtTable->GetCurKey();
+ sal_uInt32 nKey = it->first;
+ const SvNumberformat* pNumEntry = it->second;
if ( !IsRemoved_Impl( nKey ) )
{
@@ -1131,7 +1134,7 @@ short SvxNumberFormatShell::FillEListWithUsD_Impl( std::vector<String*>&
rList,
}
}
}
- pNumEntry = pCurFmtTable->Next();
+ ++it;
}
return nSelPos;
}
diff --git a/vcl/source/control/combobox.cxx b/vcl/source/control/combobox.cxx
index 97abfc1..0c9904c 100644
--- a/vcl/source/control/combobox.cxx
+++ b/vcl/source/control/combobox.cxx
@@ -29,7 +29,6 @@
#include <set>
#include <comphelper/string.hxx>
-#include <tools/table.hxx>
#include <tools/debug.hxx>
#include <tools/rc.h>
#include <vcl/decoview.hxx>
diff --git a/xmloff/source/style/xmlnumfe.cxx b/xmloff/source/style/xmlnumfe.cxx
index 7025a3d..517a9bf 100644
--- a/xmloff/source/style/xmlnumfe.cxx
+++ b/xmloff/source/style/xmlnumfe.cxx
@@ -1699,10 +1699,11 @@ void SvXMLNumFmtExport::Export( sal_Bool bIsAutoStyle )
sal_uInt32 nDefaultIndex = 0;
SvNumberFormatTable& rTable = pFormatter->GetEntryTable(
NUMBERFORMAT_DEFINED, nDefaultIndex, nLang );
- pFormat = rTable.First();
- while (pFormat)
+ SvNumberFormatTable::iterator it2 = rTable.begin();
+ while (it2 != rTable.end())
{
- nKey = rTable.GetCurKey();
+ nKey = it2->first;
+ pFormat = it2->second;
if (!pUsedList->IsUsed(nKey))
{
DBG_ASSERT((pFormat->GetType() & NUMBERFORMAT_DEFINED) != 0, "a not user
defined numberformat found");
@@ -1712,7 +1713,7 @@ void SvXMLNumFmtExport::Export( sal_Bool bIsAutoStyle )
pUsedList->SetUsed(nKey);
}
- pFormat = rTable.Next();
+ ++it2;
}
}
}
Context
- [patch] tools/table.hxx to std::map conversion in SV, SVL and SVX modules · Noel Grandin
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.