diff options
Diffstat (limited to 'slicer/tool/icemetadata.cpp')
-rw-r--r-- | slicer/tool/icemetadata.cpp | 7 |
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(); } |