diff options
author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2016-10-13 17:38:20 +0200 |
---|---|---|
committer | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2016-10-13 17:38:20 +0200 |
commit | 4a12901ad7b08021b2adad1241bf750aec4a3d2d (patch) | |
tree | 0dbb2480a325995422492a9488cdc4e5ffca47e9 /src/Utilities.cpp | |
parent | 399422985fd27a1e6a1f8cea3642402128b050fa (diff) | |
parent | c599eac7c9576a74707a3fa9b3c02cff05b09760 (diff) | |
download | astra-4a12901ad7b08021b2adad1241bf750aec4a3d2d.tar.gz astra-4a12901ad7b08021b2adad1241bf750aec4a3d2d.tar.bz2 astra-4a12901ad7b08021b2adad1241bf750aec4a3d2d.tar.xz astra-4a12901ad7b08021b2adad1241bf750aec4a3d2d.zip |
Merge branch 'master' into fdk_custom_filter
Diffstat (limited to 'src/Utilities.cpp')
-rw-r--r-- | src/Utilities.cpp | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/src/Utilities.cpp b/src/Utilities.cpp index c9740bf..8b0ca94 100644 --- a/src/Utilities.cpp +++ b/src/Utilities.cpp @@ -28,10 +28,6 @@ $Id$ #include "astra/Utilities.h" -#include <boost/algorithm/string.hpp> -#include <boost/algorithm/string/split.hpp> -#include <boost/algorithm/string/classification.hpp> - #include <sstream> #include <locale> #include <iomanip> @@ -84,18 +80,16 @@ std::vector<double> stringToDoubleVector(const std::string &s) template<typename T> std::vector<T> stringToVector(const std::string& s) { - // split - std::vector<std::string> items; - boost::split(items, s, boost::is_any_of(",;")); - - // init list std::vector<T> out; - out.resize(items.size()); + size_t current = 0; + size_t next; + do { + next = s.find_first_of(",;", current); + std::string t = s.substr(current, next - current); + out.push_back(stringTo<T>(t)); + current = next + 1; + } while (next != std::string::npos); - // loop elements - for (unsigned int i = 0; i < items.size(); i++) { - out[i] = stringTo<T>(items[i]); - } return out; } @@ -120,6 +114,18 @@ std::string doubleToString(double f) template<> std::string toString(float f) { return floatToString(f); } template<> std::string toString(double f) { return doubleToString(f); } +void splitString(std::vector<std::string> &items, const std::string& s, + const char *delim) +{ + items.clear(); + size_t current = 0; + size_t next; + do { + next = s.find_first_of(",;", current); + items.push_back(s.substr(current, next - current)); + current = next + 1; + } while (next != std::string::npos); +} } |