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;
+    }
+  }
+
 }