diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2022-05-06 19:57:48 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-05-06 21:52:00 +0200 |
commit | 18715f6a63af55045b108b98abeffeae8e51518b (patch) | |
tree | 7cfcc6fc8a27c6f0c023d74fac5e43b88ac70907 /chart2 | |
parent | b83a8483a1426ba400480d33f7df321fcc02e64d (diff) |
remove unnecessary sequenceToContainer
If we are not going to manipulate the resulting vector, then it is
actually slower, since we have to allocate more storage for the vector
Change-Id: I65677007d105f4783603df74113ebed6db0b551b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133963
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'chart2')
-rw-r--r-- | chart2/source/controller/main/ChartController_Window.cxx | 5 | ||||
-rw-r--r-- | chart2/source/tools/DataSeriesHelper.cxx | 5 | ||||
-rw-r--r-- | chart2/source/tools/PropertyHelper.cxx | 76 |
3 files changed, 41 insertions, 45 deletions
diff --git a/chart2/source/controller/main/ChartController_Window.cxx b/chart2/source/controller/main/ChartController_Window.cxx index dc667a4fbbca..09ee8b6a28b7 100644 --- a/chart2/source/controller/main/ChartController_Window.cxx +++ b/chart2/source/controller/main/ChartController_Window.cxx @@ -1067,9 +1067,8 @@ void ChartController::execute_Command( const CommandEvent& rCEvt ) { if( bIsPoint ) { - auto aIndices( comphelper::sequenceToContainer<std::vector< sal_Int32 >>( aAttributedDataPointIndexList ) ); - std::vector< sal_Int32 >::iterator aIt = std::find( aIndices.begin(), aIndices.end(), nPointIndex ); - if( aIt != aIndices.end()) + auto aIt = std::find( std::as_const(aAttributedDataPointIndexList).begin(), std::as_const(aAttributedDataPointIndexList).end(), nPointIndex ); + if( aIt != std::as_const(aAttributedDataPointIndexList).end()) bSelectedPointIsFormatted = true; else bHasFormattedDataPointsOtherThanSelected = true; diff --git a/chart2/source/tools/DataSeriesHelper.cxx b/chart2/source/tools/DataSeriesHelper.cxx index bff4032f16d3..a4b4dec45ad0 100644 --- a/chart2/source/tools/DataSeriesHelper.cxx +++ b/chart2/source/tools/DataSeriesHelper.cxx @@ -805,9 +805,8 @@ bool hasDataLabelAtPoint( const Reference< chart2::XDataSeries >& xSeries, sal_I uno::Sequence< sal_Int32 > aAttributedDataPointIndexList; if( xSeriesProperties->getPropertyValue( "AttributedDataPoints" ) >>= aAttributedDataPointIndexList ) { - auto aIndices( comphelper::sequenceToContainer<std::vector< sal_Int32 >>( aAttributedDataPointIndexList ) ); - std::vector< sal_Int32 >::iterator aIt = std::find( aIndices.begin(), aIndices.end(), nPointIndex ); - if( aIt != aIndices.end()) + auto aIt = std::find( std::as_const(aAttributedDataPointIndexList).begin(), std::as_const(aAttributedDataPointIndexList).end(), nPointIndex ); + if( aIt != std::as_const(aAttributedDataPointIndexList).end()) xProp = xSeries->getDataPointByIndex(nPointIndex); else xProp = xSeriesProperties; diff --git a/chart2/source/tools/PropertyHelper.cxx b/chart2/source/tools/PropertyHelper.cxx index 4cff29e40d17..9f34ba1c2d70 100644 --- a/chart2/source/tools/PropertyHelper.cxx +++ b/chart2/source/tools/PropertyHelper.cxx @@ -119,49 +119,47 @@ OUString lcl_addNamedPropertyUniqueNameToTable( try { Reference< container::XNameAccess > xNameAccess( xNameContainer, uno::UNO_QUERY_THROW ); - auto aNames( comphelper::sequenceToContainer<std::vector< OUString >>( xNameAccess->getElementNames())); - std::vector< OUString >::const_iterator aIt( - std::find_if( aNames.begin(), aNames.end(), lcl_EqualsElement( rValue, xNameAccess ))); + const uno::Sequence<OUString> aElementNames = xNameAccess->getElementNames(); + auto it = std::find_if( aElementNames.begin(), aElementNames.end(), lcl_EqualsElement( rValue, xNameAccess )); + + // element found => return name + if( it != aElementNames.end()) + return *it; // element not found in container - if( aIt == aNames.end()) + OUString aUniqueName; + + // check if preferred name is already used + if( !rPreferredName.isEmpty()) + { + auto aIt = std::find( aElementNames.begin(), aElementNames.end(), rPreferredName ); + if( aIt == aElementNames.end()) + aUniqueName = rPreferredName; + } + + if( aUniqueName.isEmpty()) { - OUString aUniqueName; - - // check if preferred name is already used - if( !rPreferredName.isEmpty()) - { - aIt = std::find( aNames.begin(), aNames.end(), rPreferredName ); - if( aIt == aNames.end()) - aUniqueName = rPreferredName; - } - - if( aUniqueName.isEmpty()) - { - // create a unique id using the prefix plus a number - std::vector< sal_Int32 > aNumbers; - std::vector< OUString >::iterator aNonConstIt( - std::partition( aNames.begin(), aNames.end(), lcl_StringMatches( rPrefix ))); - std::transform( aNames.begin(), aNonConstIt, - back_inserter( aNumbers ), - lcl_OUStringRestToInt32( rPrefix.getLength() )); - std::vector< sal_Int32 >::const_iterator aMaxIt( - std::max_element( aNumbers.begin(), aNumbers.end())); - - sal_Int32 nIndex = 1; - if( aMaxIt != aNumbers.end()) - nIndex = (*aMaxIt) + 1; - - aUniqueName = rPrefix + OUString::number( nIndex ); - } - - OSL_ASSERT( !aUniqueName.isEmpty()); - xNameContainer->insertByName( aUniqueName, rValue ); - return aUniqueName; + auto aNames( comphelper::sequenceToContainer<std::vector< OUString >>( aElementNames )); + // create a unique id using the prefix plus a number + std::vector< sal_Int32 > aNumbers; + std::vector< OUString >::iterator aNonConstIt( + std::partition( aNames.begin(), aNames.end(), lcl_StringMatches( rPrefix ))); + std::transform( aNames.begin(), aNonConstIt, + back_inserter( aNumbers ), + lcl_OUStringRestToInt32( rPrefix.getLength() )); + std::vector< sal_Int32 >::const_iterator aMaxIt( + std::max_element( aNumbers.begin(), aNumbers.end())); + + sal_Int32 nIndex = 1; + if( aMaxIt != aNumbers.end()) + nIndex = (*aMaxIt) + 1; + + aUniqueName = rPrefix + OUString::number( nIndex ); } - else - // element found => return name - return *aIt; + + OSL_ASSERT( !aUniqueName.isEmpty()); + xNameContainer->insertByName( aUniqueName, rValue ); + return aUniqueName; } catch( const uno::Exception & ) { |