[Libreoffice-commits] core.git: filter/source
Julien Nabet
serval2412 at yahoo.fr
Wed Mar 14 06:02:54 UTC 2018
filter/source/config/cache/cacheitem.cxx | 48 +++------
filter/source/config/cache/cacheupdatelistener.cxx | 8 -
filter/source/config/cache/filtercache.cxx | 106 +++++++--------------
filter/source/config/cache/filterfactory.cxx | 38 ++-----
filter/source/config/cache/typedetection.cxx | 62 ++++--------
filter/source/flash/swfexporter.cxx | 6 -
filter/source/flash/swfwriter.cxx | 30 ++---
filter/source/flash/swfwriter1.cxx | 9 -
filter/source/flash/swfwriter2.cxx | 24 ++--
filter/source/graphicfilter/eps/eps.cxx | 35 +++---
filter/source/msfilter/escherex.cxx | 42 +++-----
11 files changed, 156 insertions(+), 252 deletions(-)
New commits:
commit c775efffa7ddcee607bd7622a19a627545a6bc67
Author: Julien Nabet <serval2412 at yahoo.fr>
Date: Tue Mar 13 22:29:24 2018 +0100
Modernize a bit filter (part1)
mainly by using for-range loops
+ some algo simplifications
Change-Id: Ibbf2c4bb504b93cb9d7b2314deb6e65257c56029
Reviewed-on: https://gerrit.libreoffice.org/51243
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Julien Nabet <serval2412 at yahoo.fr>
diff --git a/filter/source/config/cache/cacheitem.cxx b/filter/source/config/cache/cacheitem.cxx
index f67fb4114b8a..4caca1823b58 100644
--- a/filter/source/config/cache/cacheitem.cxx
+++ b/filter/source/config/cache/cacheitem.cxx
@@ -40,15 +40,13 @@ CacheItem::CacheItem()
void CacheItem::update(const CacheItem& rUpdateItem)
{
- for(const_iterator pItUpdate = rUpdateItem.begin();
- pItUpdate != rUpdateItem.end() ;
- ++pItUpdate )
+ for (auto const& elem : rUpdateItem)
{
- iterator pItThis = find(pItUpdate->first);
+ iterator pItThis = find(elem.first);
if (pItThis == end())
- (*this)[pItUpdate->first] = pItUpdate->second; // add new prop
+ (*this)[elem.first] = elem.second; // add new prop
else
- pItThis->second = pItUpdate->second; // change value of existing prop
+ pItThis->second = elem.second; // change value of existing prop
}
}
@@ -204,11 +202,9 @@ bool isSubSet(const css::uno::Any& aSubSet,
OUStringList stl_s1(comphelper::sequenceToContainer<OUStringList>(uno_s1));
OUStringList stl_s2(comphelper::sequenceToContainer<OUStringList>(uno_s2));
- for (OUStringList::const_iterator it1 = stl_s1.begin();
- it1 != stl_s1.end() ;
- ++it1 )
+ for (auto const& elem : stl_s1)
{
- if (::std::find(stl_s2.begin(), stl_s2.end(), *it1) == stl_s2.end())
+ if (::std::find(stl_s2.begin(), stl_s2.end(), elem) == stl_s2.end())
{
return false;
}
@@ -227,16 +223,14 @@ bool isSubSet(const css::uno::Any& aSubSet,
::comphelper::SequenceAsHashMap stl_p1(uno_p1);
::comphelper::SequenceAsHashMap stl_p2(uno_p2);
- for (::comphelper::SequenceAsHashMap::const_iterator it1 = stl_p1.begin();
- it1 != stl_p1.end() ;
- ++it1 )
+ for (auto const& elem : stl_p1)
{
- ::comphelper::SequenceAsHashMap::const_iterator it2 = stl_p2.find(it1->first);
+ ::comphelper::SequenceAsHashMap::const_iterator it2 = stl_p2.find(elem.first);
if (it2 == stl_p2.end())
{
return false;
}
- if (!isSubSet(it1->second, it2->second))
+ if (!isSubSet(elem.second, it2->second))
{
return false;
}
@@ -255,16 +249,14 @@ bool isSubSet(const css::uno::Any& aSubSet,
::comphelper::SequenceAsHashMap stl_n1(uno_n1);
::comphelper::SequenceAsHashMap stl_n2(uno_n2);
- for (::comphelper::SequenceAsHashMap::const_iterator it1 = stl_n1.begin();
- it1 != stl_n1.end() ;
- ++it1 )
+ for (auto const& elem : stl_n1)
{
- ::comphelper::SequenceAsHashMap::const_iterator it2 = stl_n2.find(it1->first);
+ ::comphelper::SequenceAsHashMap::const_iterator it2 = stl_n2.find(elem.first);
if (it2 == stl_n2.end())
{
return false;
}
- if (!isSubSet(it1->second, it2->second))
+ if (!isSubSet(elem.second, it2->second))
{
return false;
}
@@ -283,19 +275,17 @@ bool isSubSet(const css::uno::Any& aSubSet,
bool CacheItem::haveProps(const CacheItem& lProps) const
{
- for (const_iterator pIt = lProps.begin();
- pIt != lProps.end() ;
- ++pIt )
+ for (auto const& prop : lProps)
{
// i) one required property does not exist at this item => return false
- const_iterator pItThis = find(pIt->first);
+ const_iterator pItThis = find(prop.first);
if (pItThis == end())
{
return false;
}
// ii) one item does not have the right value => return false
- if (!isSubSet(pIt->second, pItThis->second))
+ if (!isSubSet(prop.second, pItThis->second))
{
return false;
}
@@ -310,15 +300,13 @@ bool CacheItem::haveProps(const CacheItem& lProps) const
bool CacheItem::dontHaveProps(const CacheItem& lProps) const
{
- for (const_iterator pIt = lProps.begin();
- pIt != lProps.end() ;
- ++pIt )
+ for (auto const& prop : lProps)
{
// i) one item does not exist in general
// => continue with next one, because
// "excluding" means... "don't have it".
// And "not exists" matches to "don't have it".
- const_iterator pItThis = find(pIt->first);
+ const_iterator pItThis = find(prop.first);
if (pItThis == end())
{
continue;
@@ -327,7 +315,7 @@ bool CacheItem::dontHaveProps(const CacheItem& lProps) const
// ii) one item have the right value => return false
// because this item has the requested property...
// But we checked for "don't have it" here.
- if (isSubSet(pIt->second, pItThis->second))
+ if (isSubSet(prop.second, pItThis->second))
{
return false;
}
diff --git a/filter/source/config/cache/cacheupdatelistener.cxx b/filter/source/config/cache/cacheupdatelistener.cxx
index 1698037791ea..851f1fced49b 100644
--- a/filter/source/config/cache/cacheupdatelistener.cxx
+++ b/filter/source/config/cache/cacheupdatelistener.cxx
@@ -146,15 +146,11 @@ void SAL_CALL CacheUpdateListener::changesOccurred(const css::util::ChangesEven
}
bool bNotifyRefresh = false;
- OUStringList::const_iterator pIt;
- for ( pIt = lChangedItems.begin();
- pIt != lChangedItems.end() ;
- ++pIt )
+ for (auto const& changedItem : lChangedItems)
{
- const OUString& sItem = *pIt;
try
{
- m_rCache.refreshItem(eType, sItem);
+ m_rCache.refreshItem(eType, changedItem);
}
catch(const css::container::NoSuchElementException&)
{
diff --git a/filter/source/config/cache/filtercache.cxx b/filter/source/config/cache/filtercache.cxx
index 8db4a79ff5af..f6d80f97540c 100644
--- a/filter/source/config/cache/filtercache.cxx
+++ b/filter/source/config/cache/filtercache.cxx
@@ -263,16 +263,14 @@ OUStringList FilterCache::getMatchingItemsByProps( EItemType eType ,
// search items, which provides all needed properties of set "lIProps"
// but not of set "lEProps"!
- for (CacheItemList::const_iterator pIt = rList.begin();
- pIt != rList.end() ;
- ++pIt )
+ for (auto const& elem : rList)
{
if (
- (pIt->second.haveProps(lIProps) ) &&
- (pIt->second.dontHaveProps(lEProps))
+ (elem.second.haveProps(lIProps) ) &&
+ (elem.second.dontHaveProps(lEProps))
)
{
- lKeys.push_back(pIt->first);
+ lKeys.push_back(elem.first);
}
}
@@ -307,11 +305,9 @@ OUStringList FilterCache::getItemNames(EItemType eType) const
const CacheItemList& rList = impl_getItemList(eType);
OUStringList lKeys;
- for (CacheItemList::const_iterator pIt = rList.begin();
- pIt != rList.end() ;
- ++pIt )
+ for (auto const& elem : rList)
{
- lKeys.push_back(pIt->first);
+ lKeys.push_back(elem.first);
}
return lKeys;
// <- SAFE
@@ -608,17 +604,14 @@ void FilterCache::impl_flushByList(const css::uno::Reference< css::container::XN
css::uno::Reference< css::container::XNameContainer > xAddRemoveSet(xSet, css::uno::UNO_QUERY);
css::uno::Reference< css::lang::XSingleServiceFactory > xFactory(xSet, css::uno::UNO_QUERY);
- for (OUStringList::const_iterator pIt = lItems.begin();
- pIt != lItems.end() ;
- ++pIt )
+ for (auto const& item : lItems)
{
- const OUString& sItem = *pIt;
- EItemFlushState eState = impl_specifyFlushOperation(xSet, rCache, sItem);
+ EItemFlushState eState = impl_specifyFlushOperation(xSet, rCache, item);
switch(eState)
{
case E_ITEM_REMOVED :
{
- xAddRemoveSet->removeByName(sItem);
+ xAddRemoveSet->removeByName(item);
}
break;
@@ -632,16 +625,16 @@ void FilterCache::impl_flushByList(const css::uno::Reference< css::container::XN
throw css::uno::Exception("Can not add item. Set is finalized or mandatory!",
css::uno::Reference< css::uno::XInterface >());
- CacheItemList::const_iterator pItem = rCache.find(sItem);
+ CacheItemList::const_iterator pItem = rCache.find(item);
impl_saveItem(xItem, eType, pItem->second);
- xAddRemoveSet->insertByName(sItem, css::uno::makeAny(xItem));
+ xAddRemoveSet->insertByName(item, css::uno::makeAny(xItem));
}
break;
case E_ITEM_CHANGED :
{
css::uno::Reference< css::container::XNameReplace > xItem;
- xSet->getByName(sItem) >>= xItem;
+ xSet->getByName(item) >>= xItem;
// special case. no exception - but not a valid item => it must be finalized or mandatory!
// Reject flush operation by throwing an exception. At least one item couldn't be flushed.
@@ -649,7 +642,7 @@ void FilterCache::impl_flushByList(const css::uno::Reference< css::container::XN
throw css::uno::Exception("Can not change item. Its finalized or mandatory!",
css::uno::Reference< css::uno::XInterface >());
- CacheItemList::const_iterator pItem = rCache.find(sItem);
+ CacheItemList::const_iterator pItem = rCache.find(item);
impl_saveItem(xItem, eType, pItem->second);
}
break;
@@ -680,14 +673,12 @@ void FilterCache::detectFlatForURL(const css::util::URL& aURL ,
// Do it as first one - because: if a type match by a
// pattern a following deep detection can be suppressed!
// Further we can stop after first match ...
- for (CacheItemRegistration::const_iterator pPattReg = m_lURLPattern2Types.begin();
- pPattReg != m_lURLPattern2Types.end() ;
- ++pPattReg )
+ for (auto const& pattern : m_lURLPattern2Types)
{
- WildCard aPatternCheck(pPattReg->first);
+ WildCard aPatternCheck(pattern.first);
if (aPatternCheck.Matches(aURL.Main))
{
- const OUStringList& rTypesForPattern = pPattReg->second;
+ const OUStringList& rTypesForPattern = pattern.second;
FlatDetectionInfo aInfo;
aInfo.sType = *(rTypesForPattern.begin());
@@ -707,12 +698,10 @@ void FilterCache::detectFlatForURL(const css::util::URL& aURL ,
if (pExtReg != m_lExtensions2Types.end())
{
const OUStringList& rTypesForExtension = pExtReg->second;
- for (OUStringList::const_iterator pIt = rTypesForExtension.begin();
- pIt != rTypesForExtension.end() ;
- ++pIt )
+ for (auto const& elem : rTypesForExtension)
{
FlatDetectionInfo aInfo;
- aInfo.sType = *pIt;
+ aInfo.sType = elem;
aInfo.bMatchByExtension = true;
rFlatTypes.push_back(aInfo);
@@ -987,12 +976,10 @@ void FilterCache::impl_validateAndOptimize()
sal_Int32 nErrors = 0;
OUStringBuffer sLog(256);
- CacheItemList::iterator pIt;
-
- for (pIt = m_lTypes.begin(); pIt != m_lTypes.end(); ++pIt)
+ for (auto const& elem : m_lTypes)
{
- OUString sType = pIt->first;
- CacheItem aType = pIt->second;
+ OUString sType = elem.first;
+ CacheItem aType = elem.second;
// get its registration for file Extensions AND(!) URLPattern ...
// It doesn't matter if these items exists or if our
@@ -1173,27 +1160,23 @@ void FilterCache::impl_validateAndOptimize()
// and remove all types from list a), which already
// referenced by a loader b)
OUStringList lTypes = getItemNames(E_TYPE);
- for ( pIt = m_lFrameLoaders.begin();
- pIt != m_lFrameLoaders.end() ;
- ++pIt )
+ for (auto & frameLoader : m_lFrameLoaders)
{
// Note: of course the default loader must be ignored here.
// Because we replace its registration later completely with all
// types, which are not referenced by any other loader.
// So we can avoid our code against the complexity of a diff!
- OUString sLoader = pIt->first;
+ OUString sLoader = frameLoader.first;
if (sLoader == sDefaultFrameLoader)
continue;
- CacheItem& rLoader = pIt->second;
+ CacheItem& rLoader = frameLoader.second;
css::uno::Any& rTypesReg = rLoader[PROPNAME_TYPES];
OUStringList lTypesReg (comphelper::sequenceToContainer<OUStringList>(rTypesReg.get<css::uno::Sequence<OUString> >()));
- for (OUStringList::const_iterator pTypesReg = lTypesReg.begin();
- pTypesReg != lTypesReg.end() ;
- ++pTypesReg )
+ for (auto const& typeReg : lTypesReg)
{
- OUStringList::iterator pTypeCheck = ::std::find(lTypes.begin(), lTypes.end(), *pTypesReg);
+ OUStringList::iterator pTypeCheck = ::std::find(lTypes.begin(), lTypes.end(), typeReg);
if (pTypeCheck != lTypes.end())
lTypes.erase(pTypeCheck);
}
@@ -1500,16 +1483,12 @@ void FilterCache::impl_readPatchUINames(const css::uno::Reference< css::containe
::std::vector< OUString >::const_iterator pLocale ;
::comphelper::SequenceAsHashMap lUINames;
- for ( pLocale = lLocales.begin();
- pLocale != lLocales.end() ;
- ++pLocale )
+ for (auto const& locale : lLocales)
{
- const OUString& sLocale = *pLocale;
-
OUString sValue;
- xUIName->getByName(sLocale) >>= sValue;
+ xUIName->getByName(locale) >>= sValue;
- lUINames[sLocale] <<= sValue;
+ lUINames[locale] <<= sValue;
}
aVal <<= lUINames.getAsConstPropertyValueList();
@@ -2143,19 +2122,16 @@ CacheItem FilterCache::impl_readOldItem(const css::uno::Reference< css::containe
}
sal_Int32 nProp = 0;
- for (OUStringList::const_iterator pProp = lData.begin();
- pProp != lData.end() ;
- ++pProp )
+ for (auto const& prop : lData)
{
- const OUString& sProp = *pProp;
switch(eType)
{
case E_TYPE :
- impl_interpretDataVal4Type(sProp, nProp, aItem);
+ impl_interpretDataVal4Type(prop, nProp, aItem);
break;
case E_FILTER :
- impl_interpretDataVal4Filter(sProp, nProp, aItem);
+ impl_interpretDataVal4Filter(prop, nProp, aItem);
break;
default: break;
}
@@ -2185,13 +2161,10 @@ OUStringList FilterCache::impl_tokenizeString(const OUString& sData ,
OUString FilterCache::impl_searchFrameLoaderForType(const OUString& sType) const
{
- CacheItemList::const_iterator pIt;
- for ( pIt = m_lFrameLoaders.begin();
- pIt != m_lFrameLoaders.end() ;
- ++pIt )
+ for (auto const& frameLoader : m_lFrameLoaders)
{
- const OUString& sItem = pIt->first;
- ::comphelper::SequenceAsHashMap lProps(pIt->second);
+ const OUString& sItem = frameLoader.first;
+ ::comphelper::SequenceAsHashMap lProps(frameLoader.second);
OUStringList lTypes(
comphelper::sequenceToContainer<OUStringList>(lProps[PROPNAME_TYPES].get<css::uno::Sequence<OUString> >()));
@@ -2205,13 +2178,10 @@ OUString FilterCache::impl_searchFrameLoaderForType(const OUString& sType) const
OUString FilterCache::impl_searchContentHandlerForType(const OUString& sType) const
{
- CacheItemList::const_iterator pIt;
- for ( pIt = m_lContentHandlers.begin();
- pIt != m_lContentHandlers.end() ;
- ++pIt )
+ for (auto const& contentHandler : m_lContentHandlers)
{
- const OUString& sItem = pIt->first;
- ::comphelper::SequenceAsHashMap lProps(pIt->second);
+ const OUString& sItem = contentHandler.first;
+ ::comphelper::SequenceAsHashMap lProps(contentHandler.second);
OUStringList lTypes(
comphelper::sequenceToContainer<OUStringList>( lProps[PROPNAME_TYPES].get<css::uno::Sequence<OUString> >() ));
if (::std::find(lTypes.begin(), lTypes.end(), sType) != lTypes.end())
diff --git a/filter/source/config/cache/filterfactory.cxx b/filter/source/config/cache/filterfactory.cxx
index ef8faeec31b2..a9564752334b 100644
--- a/filter/source/config/cache/filterfactory.cxx
+++ b/filter/source/config/cache/filterfactory.cxx
@@ -293,15 +293,12 @@ OUStringList FilterFactory::impl_queryMatchByDocumentService(const QueryTokenize
OUStringList lFilterNames = pCache->getItemNames(FilterCache::E_FILTER);
OUStringList lResult ;
- for (OUStringList::const_iterator pName = lFilterNames.begin();
- pName != lFilterNames.end() ;
- ++pName )
+ for (auto const& filterName : lFilterNames)
{
try
{
- const OUString& sName = *pName;
- const CacheItem aFilter = pCache->getItem(FilterCache::E_FILTER, sName);
- CacheItem::const_iterator pProp ;
+ const CacheItem aFilter = pCache->getItem(FilterCache::E_FILTER, filterName);
+ CacheItem::const_iterator pProp;
// "matchByDocumentService=" => any filter will be addressed here
// "matchByDocumentService=all" => any filter will be addressed here
@@ -343,7 +340,7 @@ OUStringList FilterFactory::impl_queryMatchByDocumentService(const QueryTokenize
// OK - this filter passed all checks.
// It match the query ...
- lResult.push_back(sName);
+ lResult.push_back(filterName);
}
catch(const css::uno::RuntimeException&)
{ throw; }
@@ -427,20 +424,12 @@ OUStringList FilterFactory::impl_getSortedFilterList(const QueryTokenizer& lToke
// more complex search for all filters
// We check first, which office modules are installed ...
OUStringList lModules = impl_getListOfInstalledModules();
- OUStringList::const_iterator pIt2;
- for ( pIt2 = lModules.begin();
- pIt2 != lModules.end() ;
- ++pIt2 )
+ for (auto const& module : lModules)
{
- sModule = *pIt2;
- OUStringList lFilters4Module = impl_getSortedFilterListForModule(sModule, nIFlags, nEFlags);
- OUStringList::const_iterator pIt3;
- for ( pIt3 = lFilters4Module.begin();
- pIt3 != lFilters4Module.end() ;
- ++pIt3 )
+ OUStringList lFilters4Module = impl_getSortedFilterListForModule(module, nIFlags, nEFlags);
+ for (auto const& filter4Module : lFilters4Module)
{
- const OUString& sFilter = *pIt3;
- lFilterList.push_back(sFilter);
+ lFilterList.push_back(filter4Module);
}
}
}
@@ -485,15 +474,12 @@ OUStringList FilterFactory::impl_getSortedFilterListForModule(const OUString& sM
::std::sort(lOtherFilters.begin(), lOtherFilters.end());
// merge both lists together
- OUStringList lMergedFilters = lSortedFilters;
- const OUStringList::const_iterator itlOtherFiltersEnd = lOtherFilters.end();
+ OUStringList lMergedFilters = lSortedFilters;
const OUStringList::const_iterator itlSortedFiltersEnd = lSortedFilters.end();
- for (OUStringList::const_iterator pIt = lOtherFilters.begin();
- pIt != itlOtherFiltersEnd ;
- ++pIt )
+ for (auto const& otherFilter : lOtherFilters)
{
- if (::std::find(lSortedFilters.begin(), lSortedFilters.end(), *pIt) == itlSortedFiltersEnd)
- lMergedFilters.push_back(*pIt);
+ if (::std::find(lSortedFilters.begin(), lSortedFilters.end(), otherFilter) == itlSortedFiltersEnd)
+ lMergedFilters.push_back(otherFilter);
}
OUStringList::iterator pItToErase;
diff --git a/filter/source/config/cache/typedetection.cxx b/filter/source/config/cache/typedetection.cxx
index 03158f06e3ba..6b7753665d78 100644
--- a/filter/source/config/cache/typedetection.cxx
+++ b/filter/source/config/cache/typedetection.cxx
@@ -357,10 +357,8 @@ public:
void printFlatDetectionList(const char* caption, const FlatDetection& types)
{
cout << "-- " << caption << " (size=" << types.size() << ")" << endl;
- FlatDetection::const_iterator it = types.begin(), itEnd = types.end();
- for (; it != itEnd; ++it)
+ for (auto const& item : types)
{
- const FlatDetectionInfo& item = *it;
cout << " type='" << item.sType << "'; match by extension (" << item.bMatchByExtension
<< "); match by pattern (" << item.bMatchByPattern << "); pre-selected by doc service ("
<< item.bPreselectedByDocumentService << ")" << endl;
@@ -508,19 +506,18 @@ void TypeDetection::impl_checkResultsAndAddBestFilter(utl::MediaDescriptor& rDes
aLock.clear();
// <- SAFE
- for (OUStringList::const_iterator pIt = lFilters.begin();
- pIt != lFilters.end(); ++pIt)
+ for (auto const& filter : lFilters)
{
// SAFE ->
aLock.reset();
try
{
- CacheItem aFilter = cache.getItem(FilterCache::E_FILTER, *pIt);
+ CacheItem aFilter = cache.getItem(FilterCache::E_FILTER, filter);
sal_Int32 nFlags = 0;
aFilter[PROPNAME_FLAGS] >>= nFlags;
if (static_cast<SfxFilterFlags>(nFlags) & SfxFilterFlags::IMPORT)
- sFilter = *pIt;
+ sFilter = filter;
if (static_cast<SfxFilterFlags>(nFlags) & SfxFilterFlags::PREFERED)
break;
}
@@ -589,12 +586,9 @@ void TypeDetection::impl_checkResultsAndAddBestFilter(utl::MediaDescriptor& rDes
aLock.clear();
// <- SAFE
- OUStringList::const_iterator pIt;
- for ( pIt = lFilters.begin();
- pIt != lFilters.end() ;
- ++pIt )
+ for (auto const& filter : lFilters)
{
- sFilter = *pIt;
+ sFilter = filter;
// SAFE ->
aLock.reset();
@@ -683,11 +677,9 @@ bool TypeDetection::impl_getPreselectionForType(
OUStringList lExtensions(comphelper::sequenceToContainer<OUStringList>(aType[PROPNAME_EXTENSIONS].get<css::uno::Sequence<OUString> >() ));
OUStringList lURLPattern(comphelper::sequenceToContainer<OUStringList>(aType[PROPNAME_URLPATTERN].get<css::uno::Sequence<OUString> >() ));
- for (OUStringList::const_iterator pIt = lExtensions.begin();
- pIt != lExtensions.end() ;
- ++pIt )
+ for (auto const& extension : lExtensions)
{
- OUString sCheckExtension(pIt->toAsciiLowerCase());
+ OUString sCheckExtension(extension.toAsciiLowerCase());
if (sCheckExtension == sExtension)
{
bBreakDetection = true;
@@ -698,14 +690,12 @@ bool TypeDetection::impl_getPreselectionForType(
if (!bBreakDetection)
{
- for (OUStringList::const_iterator pIt = lURLPattern.begin();
- pIt != lURLPattern.end() ;
- ++pIt )
+ for (auto const& elem : lURLPattern)
{
- WildCard aCheck(*pIt);
+ WildCard aCheck(elem);
if (aCheck.Matches(aParsedURL.Main))
{
- bMatchByPattern = true;
+ bMatchByPattern = true;
break;
}
}
@@ -766,11 +756,9 @@ bool TypeDetection::impl_getPreselectionForDocumentService(
// But use temp. list of "preselected types" instead of incoming rFlatTypes list!
// The reason behind: we must filter the obtained results. And copying stl entries
// is an easier job than removing them .-)
- for (OUStringList::const_iterator pFilter = lFilters.begin();
- pFilter != lFilters.end();
- ++pFilter)
+ for (auto const& filter : lFilters)
{
- OUString aType = impl_getTypeFromFilter(*pFilter);
+ OUString aType = impl_getTypeFromFilter(filter);
if (aType.isEmpty())
continue;
@@ -818,9 +806,9 @@ void TypeDetection::impl_getAllFormatTypes(
}
// Retrieve the default type for each of these filters, and store them.
- for (OUStringList::const_iterator it = aFilterNames.begin(); it != aFilterNames.end(); ++it)
+ for (auto const& filterName : aFilterNames)
{
- OUString aType = impl_getTypeFromFilter(*it);
+ OUString aType = impl_getTypeFromFilter(filterName);
if (aType.isEmpty())
continue;
@@ -834,18 +822,17 @@ void TypeDetection::impl_getAllFormatTypes(
// Get all types that match the URL alone.
FlatDetection aFlatByURL;
TheFilterCache::get().detectFlatForURL(aParsedURL, aFlatByURL);
- FlatDetection::const_iterator it = aFlatByURL.begin(), itEnd = aFlatByURL.end();
- for (; it != itEnd; ++it)
+ for (auto const& elem : aFlatByURL)
{
- FlatDetection::iterator itPos = std::find_if(rFlatTypes.begin(), rFlatTypes.end(), FindByType(it->sType));
+ FlatDetection::iterator itPos = std::find_if(rFlatTypes.begin(), rFlatTypes.end(), FindByType(elem.sType));
if (itPos == rFlatTypes.end())
// Not in the list yet.
- rFlatTypes.push_back(*it);
+ rFlatTypes.push_back(elem);
else
{
// Already in the list. Update the flags.
FlatDetectionInfo& rInfo = *itPos;
- const FlatDetectionInfo& rThisInfo = *it;
+ const FlatDetectionInfo& rThisInfo = elem;
if (rThisInfo.bMatchByExtension)
rInfo.bMatchByExtension = true;
if (rThisInfo.bMatchByPattern)
@@ -899,12 +886,11 @@ OUString TypeDetection::impl_detectTypeFlatAndDeep( utl::MediaDescriptor& r
// or any needed information could not be
// obtained from the cache => ignore it, and continue with search
- for (FlatDetection::const_iterator pFlatIt = lFlatTypes.begin();
- pFlatIt != lFlatTypes.end() && !m_bCancel;
- ++pFlatIt )
+ for (auto const& flatTypeInfo : lFlatTypes)
{
- const FlatDetectionInfo& aFlatTypeInfo = *pFlatIt;
- OUString sFlatType = aFlatTypeInfo.sType;
+ if (m_bCancel)
+ break;
+ OUString sFlatType = flatTypeInfo.sType;
if (!impl_validateAndSetTypeOnDescriptor(rDescriptor, sFlatType))
continue;
@@ -912,7 +898,7 @@ OUString TypeDetection::impl_detectTypeFlatAndDeep( utl::MediaDescriptor& r
// b)
if (
(!bAllowDeep ) ||
- (aFlatTypeInfo.bMatchByPattern)
+ (flatTypeInfo.bMatchByPattern)
)
{
return sFlatType;
diff --git a/filter/source/flash/swfexporter.cxx b/filter/source/flash/swfexporter.cxx
index 608de8b4fdd8..641f4d72ca8d 100644
--- a/filter/source/flash/swfexporter.cxx
+++ b/filter/source/flash/swfexporter.cxx
@@ -61,11 +61,9 @@ PageInfo::PageInfo()
PageInfo::~PageInfo()
{
- std::vector<ShapeInfo*>::iterator aIter( maShapesVector.begin() );
- const std::vector<ShapeInfo*>::iterator aEnd( maShapesVector.end() );
- while( aIter != aEnd )
+ for (auto const& shape : maShapesVector)
{
- delete *aIter++;
+ delete shape;
}
}
diff --git a/filter/source/flash/swfwriter.cxx b/filter/source/flash/swfwriter.cxx
index 2d9f44c577a5..4d3921158e68 100644
--- a/filter/source/flash/swfwriter.cxx
+++ b/filter/source/flash/swfwriter.cxx
@@ -128,11 +128,10 @@ void ImplCopySvStreamToXOutputStream( SvStream& rIn, Reference< XOutputStream >
void Writer::storeTo( Reference< XOutputStream > const &xOutStream )
{
- for(FontMap::iterator i = maFonts.begin(); i != maFonts.end(); ++i)
+ for (auto const& font : maFonts)
{
- FlashFont* pFont = (*i);
- pFont->write( *mpFontsStream );
- delete pFont;
+ font->write( *mpFontsStream );
+ delete font;
}
// Endtag
@@ -275,24 +274,17 @@ sal_uInt16 Writer::defineShape( const GDIMetaFile& rMtf )
Impl_writeActions( rMtf );
sal_uInt16 nId = 0;
- {
- CharacterIdVector::iterator aIter( maShapeIds.begin() );
- const CharacterIdVector::iterator aEnd( maShapeIds.end() );
-
- bool bHaveShapes = aIter != aEnd;
+ if (maShapeIds.empty())
+ return nId;
- if (bHaveShapes)
+ {
+ nId = startSprite();
+ sal_uInt16 iDepth = 1;
+ for (auto const& shape : maShapeIds)
{
- nId = startSprite();
-
- sal_uInt16 iDepth = 1;
- for(; aIter != aEnd; ++aIter)
- {
- placeShape( *aIter, iDepth++, 0, 0 );
- }
-
- endSprite();
+ placeShape( shape, iDepth++, 0, 0 );
}
+ endSprite();
}
maShapeIds.clear();
diff --git a/filter/source/flash/swfwriter1.cxx b/filter/source/flash/swfwriter1.cxx
index d807d4ac0dc2..09ed4f647efc 100644
--- a/filter/source/flash/swfwriter1.cxx
+++ b/filter/source/flash/swfwriter1.cxx
@@ -365,15 +365,12 @@ bool compare_fonts_for_me(const vcl::Font& rFont1, const vcl::Font& rFont2)
FlashFont& Writer::Impl_getFont( const vcl::Font& rFont )
{
- FontMap::iterator aIter( maFonts.begin() );
- const FontMap::iterator aEnd( maFonts.end() );
-
- for(; aIter != aEnd; ++aIter)
+ for (auto const& font : maFonts)
{
- const vcl::Font tempFont = (*aIter)->getFont();
+ const vcl::Font tempFont = font->getFont();
if( compare_fonts_for_me(tempFont, rFont) )
{
- return **aIter;
+ return *font;
}
}
diff --git a/filter/source/flash/swfwriter2.cxx b/filter/source/flash/swfwriter2.cxx
index 4735a0f3388c..85df61b7bd43 100644
--- a/filter/source/flash/swfwriter2.cxx
+++ b/filter/source/flash/swfwriter2.cxx
@@ -108,11 +108,9 @@ void BitStream::writeTo( SvStream& out )
{
pad();
- std::vector< sal_uInt8 >::iterator aIter( maData.begin() );
- const std::vector< sal_uInt8>::iterator aEnd( maData.end() );
- while(aIter != aEnd)
+ for (auto const& data : maData)
{
- out.WriteUChar( *aIter++ );
+ out.WriteUChar(data);
}
}
@@ -336,16 +334,16 @@ Sprite::Sprite( sal_uInt16 nId )
Sprite::~Sprite()
{
- for(std::vector< Tag* >::iterator i = maTags.begin(); i != maTags.end(); ++i)
- delete *i;
+ for (auto const& tag : maTags)
+ delete tag;
}
void Sprite::write( SvStream& out )
{
SvMemoryStream aTmp;
- for(std::vector< Tag* >::iterator i = maTags.begin(); i != maTags.end(); ++i)
- (*i)->write( aTmp );
+ for (auto const& tag : maTags)
+ tag->write( aTmp );
if( !mnFrames )
mnFrames = 1;
@@ -464,8 +462,8 @@ void FlashFont::write( SvStream& out )
sal_uInt16 nGlyphs = uInt16_( maGlyphOffsets.size() );
sal_uInt16 nOffset = nGlyphs * sizeof( sal_uInt16 );
- for(std::vector< sal_uInt16 >::iterator i = maGlyphOffsets.begin(); i != maGlyphOffsets.end(); ++i)
- aTag.addUI16( nOffset + (*i) );
+ for (auto const& glyphOffset : maGlyphOffsets)
+ aTag.addUI16( nOffset + glyphOffset );
aTag.addBits( maGlyphData );
@@ -625,10 +623,10 @@ void FillStyle::Impl_addGradient( Tag* pTag ) const
pTag->addUI8( static_cast<sal_uInt8>( aGradientRecords.size() ) );
- for(std::vector< GradRecord >::iterator i = aGradientRecords.begin(); i != aGradientRecords.end(); ++i)
+ for (auto const& gradientRecord : aGradientRecords)
{
- pTag->addUI8( (*i).mnRatio );
- pTag->addRGBA( (*i).maColor );
+ pTag->addUI8( gradientRecord.mnRatio );
+ pTag->addRGBA( gradientRecord.maColor );
}
}
diff --git a/filter/source/graphicfilter/eps/eps.cxx b/filter/source/graphicfilter/eps/eps.cxx
index 9a1a81b71269..c5f8aa240872 100644
--- a/filter/source/graphicfilter/eps/eps.cxx
+++ b/filter/source/graphicfilter/eps/eps.cxx
@@ -1612,12 +1612,12 @@ void PSWriter::ImplSetClipRegion( vcl::Region const & rClipRegion )
RectangleVector aRectangles;
rClipRegion.GetRegionRectangles(aRectangles);
- for(RectangleVector::const_iterator aRectIter(aRectangles.begin()); aRectIter != aRectangles.end(); ++aRectIter)
+ for (auto const& rectangle : aRectangles)
{
- double nX1(aRectIter->Left());
- double nY1(aRectIter->Top());
- double nX2(aRectIter->Right());
- double nY2(aRectIter->Bottom());
+ double nX1(rectangle.Left());
+ double nY1(rectangle.Top());
+ double nX2(rectangle.Right());
+ double nY2(rectangle.Bottom());
ImplWriteDouble( nX1 );
ImplWriteDouble( nY1 );
@@ -1714,21 +1714,21 @@ void PSWriter::ImplBmp( Bitmap const * pBitmap, Bitmap const * pMaskBitmap, cons
aRegion.GetRegionRectangles(aRectangles);
const long nMoveVertical(nHeightLeft - nHeightOrg);
- for(RectangleVector::iterator aRectIter(aRectangles.begin()); aRectIter != aRectangles.end(); ++aRectIter)
+ for (auto & rectangle : aRectangles)
{
- aRectIter->Move(0, nMoveVertical);
+ rectangle.Move(0, nMoveVertical);
- ImplWriteLong( aRectIter->Left() );
- ImplWriteLong( aRectIter->Top() );
+ ImplWriteLong( rectangle.Left() );
+ ImplWriteLong( rectangle.Top() );
ImplWriteByte( 'm' );
- ImplWriteLong( aRectIter->Right() + 1 );
- ImplWriteLong( aRectIter->Top() );
+ ImplWriteLong( rectangle.Right() + 1 );
+ ImplWriteLong( rectangle.Top() );
ImplWriteByte( 'l' );
- ImplWriteLong( aRectIter->Right() + 1 );
- ImplWriteLong( aRectIter->Bottom() + 1 );
+ ImplWriteLong( rectangle.Right() + 1 );
+ ImplWriteLong( rectangle.Bottom() + 1 );
ImplWriteByte( 'l' );
- ImplWriteLong( aRectIter->Left() );
- ImplWriteLong( aRectIter->Bottom() + 1 );
+ ImplWriteLong( rectangle.Left() );
+ ImplWriteLong( rectangle.Bottom() + 1 );
ImplWriteByte( 'l' );
ImplWriteByte( 'p', PS_SPACE | PS_WRAP );
}
@@ -2038,9 +2038,8 @@ void PSWriter::ImplText( const OUString& rUniString, const Point& rPos, const lo
ImplWriteF( nRotation, 1 );
mpPS->WriteCharPtr( "r " );
}
- std::vector<tools::PolyPolygon>::iterator aIter( aPolyPolyVec.begin() );
- while ( aIter != aPolyPolyVec.end() )
- ImplPolyPoly( *aIter++, true );
+ for (auto const& elem : aPolyPolyVec)
+ ImplPolyPoly( elem, true );
ImplWriteLine( "pom" );
}
bLineColor = bOldLineColor;
diff --git a/filter/source/msfilter/escherex.cxx b/filter/source/msfilter/escherex.cxx
index 3f9834e6c194..9c7c01c5f0e6 100644
--- a/filter/source/msfilter/escherex.cxx
+++ b/filter/source/msfilter/escherex.cxx
@@ -2448,23 +2448,21 @@ void ConvertEnhancedCustomShapeEquation( SdrObjCustomShape* pCustoShape,
rEquationOrder.push_back( rEquations.size() - 1 );
}
// now updating our old equation indices, they are marked with a bit in the hiword of nOperation
- std::vector< EnhancedCustomShapeEquation >::iterator aIter( rEquations.begin() );
- std::vector< EnhancedCustomShapeEquation >::iterator aEnd ( rEquations.end() );
- while( aIter != aEnd )
+ for (auto & equation : rEquations)
{
sal_uInt32 nMask = 0x20000000;
for( i = 0; i < 3; i++ )
{
- if ( aIter->nOperation & nMask )
+ if ( equation.nOperation & nMask )
{
- aIter->nOperation ^= nMask;
- const size_t nIndex(aIter->nPara[ i ] & 0x3ff);
+ equation.nOperation ^= nMask;
+ const size_t nIndex(equation.nPara[ i ] & 0x3ff);
// #i124661# check index access, there are cases where this is out of bound leading
// to errors up to crashes when executed
if(nIndex < rEquationOrder.size())
{
- aIter->nPara[ i ] = rEquationOrder[ nIndex ] | 0x400;
+ equation.nPara[ i ] = rEquationOrder[ nIndex ] | 0x400;
}
else
{
@@ -2473,7 +2471,6 @@ void ConvertEnhancedCustomShapeEquation( SdrObjCustomShape* pCustoShape,
}
nMask <<= 1;
}
- ++aIter;
}
}
}
@@ -2938,15 +2935,12 @@ void EscherPropertyContainer::CreateCustomShapeProperties( const MSO_SPT eShapeT
.WriteUInt16( nElements )
.WriteUInt16( nElementSize );
- std::vector< EnhancedCustomShapeEquation >::const_iterator aIter( aEquations.begin() );
- std::vector< EnhancedCustomShapeEquation >::const_iterator aEnd ( aEquations.end() );
- while( aIter != aEnd )
+ for (auto const& equation : aEquations)
{
- aOut.WriteUInt16( aIter->nOperation )
- .WriteInt16( aIter->nPara[ 0 ] )
- .WriteInt16( aIter->nPara[ 1 ] )
- .WriteInt16( aIter->nPara[ 2 ] );
- ++aIter;
+ aOut.WriteUInt16( equation.nOperation )
+ .WriteInt16( equation.nPara[ 0 ] )
+ .WriteInt16( equation.nPara[ 1 ] )
+ .WriteInt16( equation.nPara[ 2 ] );
}
sal_uInt8* pBuf = new sal_uInt8[ nStreamSize ];
memcpy( pBuf, aOut.GetData(), nStreamSize );
@@ -4825,10 +4819,10 @@ void EscherExGlobal::WriteDggAtom( SvStream& rStrm ) const
// calculate and write the fixed DGG data
sal_uInt32 nShapeCount = 0;
sal_uInt32 nLastShapeId = 0;
- for( DrawingInfoVector::const_iterator aIt = maDrawingInfos.begin(), aEnd = maDrawingInfos.end(); aIt != aEnd; ++aIt )
+ for (auto const& drawingInfo : maDrawingInfos)
{
- nShapeCount += aIt->mnShapeCount;
- nLastShapeId = ::std::max( nLastShapeId, aIt->mnLastShapeId );
+ nShapeCount += drawingInfo.mnShapeCount;
+ nLastShapeId = ::std::max( nLastShapeId, drawingInfo.mnLastShapeId );
}
// the non-existing cluster with index #0 is counted too
sal_uInt32 nClusterCount = static_cast< sal_uInt32 >( maClusterTable.size() + 1 );
@@ -4836,8 +4830,8 @@ void EscherExGlobal::WriteDggAtom( SvStream& rStrm ) const
rStrm.WriteUInt32( nLastShapeId ).WriteUInt32( nClusterCount ).WriteUInt32( nShapeCount ).WriteUInt32( nDrawingCount );
// write the cluster table
- for( ClusterTable::const_iterator aIt = maClusterTable.begin(), aEnd = maClusterTable.end(); aIt != aEnd; ++aIt )
- rStrm.WriteUInt32( aIt->mnDrawingId ).WriteUInt32( aIt->mnNextShapeId );
+ for (auto const& elem : maClusterTable)
+ rStrm.WriteUInt32( elem.mnDrawingId ).WriteUInt32( elem.mnNextShapeId );
}
SvStream* EscherExGlobal::QueryPictureStream()
@@ -4967,10 +4961,10 @@ void EscherEx::InsertAtCurrentPos( sal_uInt32 nBytes )
else
mpOutStrm->SeekRel( nSize );
}
- for (std::vector< sal_uInt32 >::iterator aIter( mOffsets.begin() ), aEnd( mOffsets.end() ); aIter != aEnd ; ++aIter)
+ for (auto & offset : mOffsets)
{
- if ( *aIter > nCurPos )
- *aIter += nBytes;
+ if ( offset > nCurPos )
+ offset += nBytes;
}
mpOutStrm->Seek( STREAM_SEEK_TO_END );
nSource = mpOutStrm->Tell();
More information about the Libreoffice-commits
mailing list