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 /svtools/source | |
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 'svtools/source')
-rw-r--r-- | svtools/source/config/extcolorcfg.cxx | 6 | ||||
-rw-r--r-- | svtools/source/uno/popupmenucontrollerbase.cxx | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/svtools/source/config/extcolorcfg.cxx b/svtools/source/config/extcolorcfg.cxx index 499c41f4324e..e5767b0b1453 100644 --- a/svtools/source/config/extcolorcfg.cxx +++ b/svtools/source/config/extcolorcfg.cxx @@ -132,7 +132,7 @@ public: uno::Sequence< OUString> ExtendedColorConfig_Impl::GetPropertyNames(const OUString& rScheme) { uno::Sequence< OUString> aNames(GetNodeNames(rScheme)); - for(OUString & i : aNames) + for(OUString & i : asNonConstRange(aNames)) { i = rScheme + "/" + i; } @@ -219,7 +219,7 @@ void ExtendedColorConfig_Impl::EnableBroadcast() static void lcl_addString(uno::Sequence < OUString >& _rSeq,std::u16string_view _sAdd) { - for(OUString & i : _rSeq) + for(OUString & i : asNonConstRange(_rSeq)) i += _sAdd; } @@ -233,7 +233,7 @@ void ExtendedColorConfig_Impl::Load(const OUString& rScheme) TDisplayNames aDisplayNameMap; uno::Sequence < OUString > aComponentNames = GetPropertyNames("EntryNames"); OUString sDisplayName("/DisplayName"); - for(OUString & componentName : aComponentNames) + for(OUString & componentName : asNonConstRange(aComponentNames)) { uno::Sequence< uno::Any > aComponentDisplayNamesValue = GetProperties( { componentName + sDisplayName } ); OUString sComponentDisplayName; diff --git a/svtools/source/uno/popupmenucontrollerbase.cxx b/svtools/source/uno/popupmenucontrollerbase.cxx index b5d69c88713a..3e5d47c362c1 100644 --- a/svtools/source/uno/popupmenucontrollerbase.cxx +++ b/svtools/source/uno/popupmenucontrollerbase.cxx @@ -221,7 +221,7 @@ Sequence< Reference< XDispatch > > SAL_CALL PopupMenuControllerBase::queryDispat uno::Sequence< uno::Reference< frame::XDispatch > > lDispatcher( nCount ); // Step over all descriptors and try to get any dispatcher for it. - std::transform(lDescriptor.begin(), lDescriptor.end(), lDispatcher.begin(), + std::transform(lDescriptor.begin(), lDescriptor.end(), lDispatcher.getArray(), [this](const DispatchDescriptor& rDesc) -> uno::Reference< frame::XDispatch > { return queryDispatch(rDesc.FeatureURL, rDesc.FrameName, rDesc.SearchFlags); }); |