summaryrefslogtreecommitdiff
path: root/xmloff/source/core/attrlist.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'xmloff/source/core/attrlist.cxx')
-rw-r--r--xmloff/source/core/attrlist.cxx36
1 files changed, 14 insertions, 22 deletions
diff --git a/xmloff/source/core/attrlist.cxx b/xmloff/source/core/attrlist.cxx
index 5673d66f9d93..e58707c6953c 100644
--- a/xmloff/source/core/attrlist.cxx
+++ b/xmloff/source/core/attrlist.cxx
@@ -113,13 +113,12 @@ OUString SAL_CALL SvXMLAttributeList::getTypeByName( const OUString& )
OUString SAL_CALL SvXMLAttributeList::getValueByName(const OUString& sName)
{
- ::std::vector<struct SvXMLTagAttribute_Impl>::iterator ii = m_pImpl->vecAttribute.begin();
+ auto ii = std::find_if(m_pImpl->vecAttribute.begin(), m_pImpl->vecAttribute.end(),
+ [&sName](struct SvXMLTagAttribute_Impl& rAttr) { return rAttr.sName == sName; });
+
+ if (ii != m_pImpl->vecAttribute.end())
+ return (*ii).sValue;
- for( ; ii != m_pImpl->vecAttribute.end() ; ++ii ) {
- if( (*ii).sName == sName ) {
- return (*ii).sValue;
- }
- }
return OUString();
}
@@ -158,14 +157,11 @@ void SvXMLAttributeList::Clear()
void SvXMLAttributeList::RemoveAttribute( const OUString& sName )
{
- ::std::vector<struct SvXMLTagAttribute_Impl>::iterator ii = m_pImpl->vecAttribute.begin();
+ auto ii = std::find_if(m_pImpl->vecAttribute.begin(), m_pImpl->vecAttribute.end(),
+ [&sName](struct SvXMLTagAttribute_Impl& rAttr) { return rAttr.sName == sName; });
- for( ; ii != m_pImpl->vecAttribute.end() ; ++ii ) {
- if( (*ii).sName == sName ) {
- m_pImpl->vecAttribute.erase( ii );
- break;
- }
- }
+ if (ii != m_pImpl->vecAttribute.end())
+ m_pImpl->vecAttribute.erase( ii );
}
void SvXMLAttributeList::AppendAttributeList( const uno::Reference< css::xml::sax::XAttributeList > &r )
@@ -215,16 +211,12 @@ void SvXMLAttributeList::RenameAttributeByIndex( sal_Int16 i,
sal_Int16 SvXMLAttributeList::GetIndexByName( const OUString& rName ) const
{
- ::std::vector<struct SvXMLTagAttribute_Impl>::iterator ii =
- m_pImpl->vecAttribute.begin();
+ auto ii = std::find_if(m_pImpl->vecAttribute.begin(), m_pImpl->vecAttribute.end(),
+ [&rName](struct SvXMLTagAttribute_Impl& rAttr) { return rAttr.sName == rName; });
+
+ if (ii != m_pImpl->vecAttribute.end())
+ return static_cast<sal_Int16>(std::distance(m_pImpl->vecAttribute.begin(), ii));
- for( sal_Int16 nIndex=0; ii!=m_pImpl->vecAttribute.end(); ++ii, ++nIndex )
- {
- if( (*ii).sName == rName )
- {
- return nIndex;
- }
- }
return -1;
}