summaryrefslogtreecommitdiff
path: root/slicer/tool/icemetadata.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'slicer/tool/icemetadata.cpp')
-rw-r--r--slicer/tool/icemetadata.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/slicer/tool/icemetadata.cpp b/slicer/tool/icemetadata.cpp
index 4804542..3dfbee9 100644
--- a/slicer/tool/icemetadata.cpp
+++ b/slicer/tool/icemetadata.cpp
@@ -5,12 +5,13 @@
// IWYU pragma: no_include <list>
namespace Slicer {
- IceMetaData::IceMetaData(Slice::StringList && as)
+ IceMetaData::IceMetaData(Slice::StringList as)
{
arr.reserve(as.size());
- std::for_each(as.begin(), as.end(), [this](auto && a) {
- auto & md = arr.emplace_back(a, std::string_view {});
+ std::transform(as.begin(), as.end(), std::back_inserter(arr), [](auto && a) {
+ decltype(arr)::value_type md {std::forward<decltype(a)>(a), std::string_view {}};
md.second = std::string_view(md.first).substr(0, md.first.rfind(':'));
+ return md;
});
_begin = arr.begin();
_end = arr.end();