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, 6 insertions, 1 deletions
diff --git a/slicer/tool/icemetadata.cpp b/slicer/tool/icemetadata.cpp
index 60bd5a3..64806d6 100644
--- a/slicer/tool/icemetadata.cpp
+++ b/slicer/tool/icemetadata.cpp
@@ -2,8 +2,13 @@
#include <boost/algorithm/string/predicate.hpp>
namespace Slicer {
- IceMetaData::IceMetaData(Slice::StringList && a) : arr {std::forward<Slice::StringList>(a)}
+ IceMetaData::IceMetaData(Slice::StringList && a)
{
+ arr.reserve(a.size());
+ std::transform(a.begin(), a.end(), std::back_inserter(arr), [](auto a) {
+ auto prefix = std::string_view(a).substr(0, a.rfind(':'));
+ return std::make_pair(std::move(a), prefix);
+ });
_begin = arr.begin();
_end = arr.end();
}