diff options
author | Josh Blum <josh@joshknows.com> | 2010-08-12 18:17:48 +0000 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2010-08-12 18:17:48 +0000 |
commit | a1d768d540d4f78ddf634033892459a5f1d3847f (patch) | |
tree | 66b60a3031b13fa23389b6ce2cf090098d232316 /host/include | |
parent | 68a65581db6455bfd4652576eeb6795e3c1ca68b (diff) | |
parent | 805d4a0cff00fb4e0071bb300436bb7eefb8fb16 (diff) | |
download | uhd-a1d768d540d4f78ddf634033892459a5f1d3847f.tar.gz uhd-a1d768d540d4f78ddf634033892459a5f1d3847f.tar.bz2 uhd-a1d768d540d4f78ddf634033892459a5f1d3847f.zip |
Merge branch 'split_string' of ettus.sourcerepo.com:ettus/uhdpriv into usrp_e_merge
Diffstat (limited to 'host/include')
-rw-r--r-- | host/include/uhd/utils/algorithm.hpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/host/include/uhd/utils/algorithm.hpp b/host/include/uhd/utils/algorithm.hpp index 1b5eacfa9..53c571e4e 100644 --- a/host/include/uhd/utils/algorithm.hpp +++ b/host/include/uhd/utils/algorithm.hpp @@ -22,6 +22,9 @@ #include <boost/range/begin.hpp> #include <boost/range/end.hpp> #include <boost/range/size.hpp> +#include <boost/algorithm/string.hpp> +#include <vector> +#include <string> /*! \file algorithm.hpp * Useful templated functions and classes that I like to pretend are part of stl. @@ -30,6 +33,24 @@ namespace std{ /*! + * Split a string at the separation characters. + * \param string the string to split + * \param sep the separator characters + * \return a range of strings + */ + inline std::vector<std::string> split_string( + const std::string &string, const std::string &sep = "\t " + ){ + std::vector<std::string> strings; + if (not string.empty()) boost::split( + // do not split an empty string: + // let me tell you about the time when boost::split segfaulted... + strings, string, boost::is_any_of(sep) + ); + return strings; + } + + /*! * A wrapper around std::copy that takes ranges instead of iterators. * * Copy the elements of the source range into the destination range. |