Mercurial > hg > orthanc
diff Core/Toolbox.cpp @ 532:b22312081388 dicom-rt
extract roi geometry
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 30 Aug 2013 16:09:19 +0200 |
parents | 8c3573d28868 |
children | b82292ba2083 |
line wrap: on
line diff
--- a/Core/Toolbox.cpp Thu Aug 29 17:59:09 2013 +0200 +++ b/Core/Toolbox.cpp Fri Aug 30 16:09:19 2013 +0200 @@ -717,4 +717,47 @@ throw OrthancException(ErrorCode_NotImplemented); } } + + + + void Toolbox::Split(std::vector<std::string>& result, + const std::string& source, + char delimiter) + { + if (source.size() == 0) + { + result.clear(); + return; + } + + size_t count = 1; + for (size_t i = 0; i < source.size(); i++) + { + if (source[i] == delimiter) + { + count++; + } + } + + result.clear(); + result.resize(count); + + size_t pos = 0; + size_t start = 0; + while (start < source.size()) + { + assert(pos < count); + + size_t end = start; + while (end < source.size() && + source[end] != delimiter) + { + end++; + } + + result[pos++] = source.substr(start, end - start); + start = end + 1; + } + } + }