From 4f14bbfdaa090344772216ad3e89e19382a74a9c Mon Sep 17 00:00:00 2001 From: Tobias Ellinghaus Date: Wed, 5 Jul 2017 13:46:26 +0200 Subject: Use std::transform instead of a for loop --- src/ui/widget/color-icc-selector.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/ui/widget') diff --git a/src/ui/widget/color-icc-selector.cpp b/src/ui/widget/color-icc-selector.cpp index 7928311d5..f1dd92746 100644 --- a/src/ui/widget/color-icc-selector.cpp +++ b/src/ui/widget/color-icc-selector.cpp @@ -663,6 +663,9 @@ struct _cmp { } }; +template +struct static_caster { To * operator () (From * value) const { return static_cast(value); } }; + void ColorICCSelectorImpl::_profilesChanged(std::string const &name) { GtkComboBox *combo = GTK_COMBO_BOX(_profileSel); @@ -682,11 +685,10 @@ void ColorICCSelectorImpl::_profilesChanged(std::string const &name) std::vector current = SP_ACTIVE_DOCUMENT->getResourceList("iccprofile"); std::set _current; - for (auto &it: current) { - SPObject* obj = it; - Inkscape::ColorProfile* prof = reinterpret_cast(obj); - _current.insert(prof); - } + std::transform(current.begin(), + current.end(), + std::inserter(_current, _current.begin()), + static_caster()); for (auto &it: _current) { Inkscape::ColorProfile *prof = it; -- cgit v1.2.3