diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2021-10-14 09:25:24 +0200 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2021-10-15 10:36:36 +0200 |
commit | 2484de6728bd11bb7949003d112f1ece2223c7a1 (patch) | |
tree | 1296534e396da284b38d2c478dcd2b31c4714179 /oox | |
parent | 88375fd36899d21d3309cf8333712e02a87d3a91 (diff) |
Remove non-const Sequence::begin()/end() in internal code
... to avoid hidden cost of multiple COW checks, because they
call getArray() internally.
This obsoletes [loplugin:sequenceloop].
Also rename toNonConstRange to asNonConstRange, to reflect that
the result is a view of the sequence, not an independent object.
TODO: also drop non-const operator[], but introduce operator[]
in SequenceRange.
Change-Id: Idd5fd7a3400fe65274d2a6343025e2ef8911635d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123518
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/drawingml/customshapeproperties.cxx | 2 | ||||
-rw-r--r-- | oox/source/export/chartexport.cxx | 2 | ||||
-rw-r--r-- | oox/source/export/drawingml.cxx | 4 | ||||
-rw-r--r-- | oox/source/vml/vmlformatting.cxx | 2 |
4 files changed, 5 insertions, 5 deletions
diff --git a/oox/source/drawingml/customshapeproperties.cxx b/oox/source/drawingml/customshapeproperties.cxx index 1066b67aac76..62bc860ee7b2 100644 --- a/oox/source/drawingml/customshapeproperties.cxx +++ b/oox/source/drawingml/customshapeproperties.cxx @@ -180,7 +180,7 @@ void CustomShapeProperties::pushToPropSet( static const OUStringLiteral sType = u"Type"; if ( aGeoPropSet >>= aGeoPropSeq ) { - for ( auto& rGeoProp : aGeoPropSeq ) + for ( auto& rGeoProp : asNonConstRange(aGeoPropSeq) ) { if ( rGeoProp.Name == sAdjustmentValues ) { diff --git a/oox/source/export/chartexport.cxx b/oox/source/export/chartexport.cxx index 32736e67fad0..e78ca42af24f 100644 --- a/oox/source/export/chartexport.cxx +++ b/oox/source/export/chartexport.cxx @@ -702,7 +702,7 @@ Sequence< Sequence< OUString > > ChartExport::getSplitCategoriesList( const OUSt //sort the categories name Sequence<Sequence<OUString>> aFinalSplitSource(aCategories.getLength()); std::transform(aCategories.begin(), aCategories.end(), - std::reverse_iterator(aFinalSplitSource.end()), + std::reverse_iterator(asNonConstRange(aFinalSplitSource).end()), [](const Reference<chart2::data::XLabeledDataSequence>& xCat) { return lcl_getLabelSequence(xCat->getValues()); }); return aFinalSplitSource; diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index 4326ce2fa01d..6b05b15546cc 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -4471,7 +4471,7 @@ void DrawingML::WriteShapeEffects( const Reference< XPropertySet >& rXPropSet ) } else { - for( auto& rOuterShdwProp : aOuterShdwProps ) + for( auto& rOuterShdwProp : asNonConstRange(aOuterShdwProps) ) { if( rOuterShdwProp.Name == "Attribs" ) { @@ -4485,7 +4485,7 @@ void DrawingML::WriteShapeEffects( const Reference< XPropertySet >& rXPropSet ) rXPropSet->getPropertyValue( "ShadowBlur" ) >>= nBlur; - for( auto& rAttribsProp : aAttribsProps ) + for( auto& rAttribsProp : asNonConstRange(aAttribsProps) ) { if( rAttribsProp.Name == "dist" ) { diff --git a/oox/source/vml/vmlformatting.cxx b/oox/source/vml/vmlformatting.cxx index 94f87a772c00..72c967d103c4 100644 --- a/oox/source/vml/vmlformatting.cxx +++ b/oox/source/vml/vmlformatting.cxx @@ -927,7 +927,7 @@ void TextpathModel::pushToPropMap(ShapePropertyMap& rPropMap, const uno::Referen uno::Reference<beans::XPropertySet> xPropertySet(xShape, uno::UNO_QUERY); uno::Sequence<beans::PropertyValue> aGeomPropSeq = xPropertySet->getPropertyValue("CustomShapeGeometry").get< uno::Sequence<beans::PropertyValue> >(); bool bFound = false; - for (beans::PropertyValue& rProp : aGeomPropSeq) + for (beans::PropertyValue& rProp : asNonConstRange(aGeomPropSeq)) { if (rProp.Name == "TextPath") { |