summaryrefslogtreecommitdiff
path: root/svl/source/numbers
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2015-07-17 13:11:32 +0200
committerMichael Stahl <mstahl@redhat.com>2015-07-17 17:27:15 +0200
commit50cf52bd0eb45a2f8ca91bbd64def942ef191f2f (patch)
treef64bb0ee7a89e7299d8cd26fc5af5eb6f80676d8 /svl/source/numbers
parent4d84153e22bdda33b23deb4c32afcace4c1264f7 (diff)
svl: replace boost::ptr_vector with std::vector<std::unique_ptr>
Change-Id: Ie1174d57b696f49c05010ece1b721185b0904fd6
Diffstat (limited to 'svl/source/numbers')
-rw-r--r--svl/source/numbers/currencytable.cxx8
-rw-r--r--svl/source/numbers/zforlist.cxx39
2 files changed, 26 insertions, 21 deletions
diff --git a/svl/source/numbers/currencytable.cxx b/svl/source/numbers/currencytable.cxx
index 91be75e1b5b1..17e362d1c833 100644
--- a/svl/source/numbers/currencytable.cxx
+++ b/svl/source/numbers/currencytable.cxx
@@ -16,12 +16,12 @@ NfCurrencyTable::iterator NfCurrencyTable::begin()
NfCurrencyEntry& NfCurrencyTable::operator[] ( size_t i )
{
- return maData[i];
+ return *maData[i];
}
const NfCurrencyEntry& NfCurrencyTable::operator[] ( size_t i ) const
{
- return maData[i];
+ return *maData[i];
}
size_t NfCurrencyTable::size() const
@@ -29,9 +29,9 @@ size_t NfCurrencyTable::size() const
return maData.size();
}
-void NfCurrencyTable::insert( iterator it, NfCurrencyEntry* p )
+void NfCurrencyTable::insert(iterator it, std::unique_ptr<NfCurrencyEntry> p)
{
- maData.insert(it, p);
+ maData.insert(it, std::move(p));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx
index afca600bb927..38bdce0a7518 100644
--- a/svl/source/numbers/zforlist.cxx
+++ b/svl/source/numbers/zforlist.cxx
@@ -3615,11 +3615,12 @@ void SvNumberFormatter::ImpInitCurrencyTable()
aConfiguredCurrencyAbbrev, eConfiguredCurrencyLanguage );
sal_uInt16 nSecondarySystemCurrencyPosition = 0;
sal_uInt16 nMatchingSystemCurrencyPosition = 0;
- NfCurrencyEntry* pEntry;
-
+ std::unique_ptr<NfCurrencyEntry> pEntry(
// first entry is SYSTEM
- pEntry = new NfCurrencyEntry( *pLocaleData, LANGUAGE_SYSTEM );
- theCurrencyTable::get().insert( theCurrencyTable::get().begin(), pEntry );
+ new NfCurrencyEntry( *pLocaleData, LANGUAGE_SYSTEM ));
+
+ theCurrencyTable::get().insert(
+ theCurrencyTable::get().begin(), std::move(pEntry));
sal_uInt16 nCurrencyPos = 1;
::com::sun::star::uno::Sequence< ::com::sun::star::lang::Locale > xLoc =
@@ -3649,28 +3650,29 @@ void SvNumberFormatter::ImpInitCurrencyTable()
}
if ( nDefault < nCurrencyCount )
{
- pEntry = new NfCurrencyEntry( pCurrencies[nDefault], *pLocaleData, eLang );
+ pEntry.reset(new NfCurrencyEntry(pCurrencies[nDefault], *pLocaleData, eLang));
}
else
- {
- pEntry = new NfCurrencyEntry( *pLocaleData, eLang ); // first or ShellsAndPebbles
+ { // first or ShellsAndPebbles
+ pEntry.reset(new NfCurrencyEntry(*pLocaleData, eLang));
}
if (LocaleDataWrapper::areChecksEnabled())
{
lcl_CheckCurrencySymbolPosition( *pEntry );
}
- rCurrencyTable.insert( rCurrencyTable.begin() + nCurrencyPos++, pEntry );
if ( !nSystemCurrencyPosition && !aConfiguredCurrencyAbbrev.isEmpty() &&
pEntry->GetBankSymbol() == aConfiguredCurrencyAbbrev &&
pEntry->GetLanguage() == eConfiguredCurrencyLanguage )
{
- nSystemCurrencyPosition = nCurrencyPos-1;
+ nSystemCurrencyPosition = nCurrencyPos;
}
if ( !nMatchingSystemCurrencyPosition &&
pEntry->GetLanguage() == eSysLang )
{
- nMatchingSystemCurrencyPosition = nCurrencyPos-1;
+ nMatchingSystemCurrencyPosition = nCurrencyPos;
}
+ rCurrencyTable.insert(
+ rCurrencyTable.begin() + nCurrencyPos++, std::move(pEntry));
// all remaining currencies for each locale
if ( nCurrencyCount > 1 )
{
@@ -3679,12 +3681,14 @@ void SvNumberFormatter::ImpInitCurrencyTable()
{
if (pCurrencies[nCurrency].LegacyOnly)
{
- pEntry = new NfCurrencyEntry( pCurrencies[nCurrency], *pLocaleData, eLang );
- rLegacyOnlyCurrencyTable.insert( rLegacyOnlyCurrencyTable.begin() + nLegacyOnlyCurrencyPos++, pEntry );
+ pEntry.reset(new NfCurrencyEntry(pCurrencies[nCurrency], *pLocaleData, eLang));
+ rLegacyOnlyCurrencyTable.insert(
+ rLegacyOnlyCurrencyTable.begin() + nLegacyOnlyCurrencyPos++,
+ std::move(pEntry));
}
else if ( nCurrency != nDefault )
{
- pEntry = new NfCurrencyEntry( pCurrencies[nCurrency], *pLocaleData, eLang );
+ pEntry.reset(new NfCurrencyEntry(pCurrencies[nCurrency], *pLocaleData, eLang));
// no dupes
bool bInsert = true;
sal_uInt16 n = rCurrencyTable.size();
@@ -3699,23 +3703,24 @@ void SvNumberFormatter::ImpInitCurrencyTable()
}
if ( !bInsert )
{
- delete pEntry;
+ pEntry.reset();
}
else
{
- rCurrencyTable.insert( rCurrencyTable.begin() + nCurrencyPos++, pEntry );
if ( !nSecondarySystemCurrencyPosition &&
(!aConfiguredCurrencyAbbrev.isEmpty() ?
pEntry->GetBankSymbol() == aConfiguredCurrencyAbbrev :
pEntry->GetLanguage() == eConfiguredCurrencyLanguage) )
{
- nSecondarySystemCurrencyPosition = nCurrencyPos-1;
+ nSecondarySystemCurrencyPosition = nCurrencyPos;
}
if ( !nMatchingSystemCurrencyPosition &&
pEntry->GetLanguage() == eSysLang )
{
- nMatchingSystemCurrencyPosition = nCurrencyPos-1;
+ nMatchingSystemCurrencyPosition = nCurrencyPos;
}
+ rCurrencyTable.insert(
+ rCurrencyTable.begin() + nCurrencyPos++, std::move(pEntry));
}
}
}