aboutsummaryrefslogtreecommitdiffstats
path: root/host/include
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-08-12 18:17:48 +0000
committerJosh Blum <josh@joshknows.com>2010-08-12 18:17:48 +0000
commita1d768d540d4f78ddf634033892459a5f1d3847f (patch)
tree66b60a3031b13fa23389b6ce2cf090098d232316 /host/include
parent68a65581db6455bfd4652576eeb6795e3c1ca68b (diff)
parent805d4a0cff00fb4e0071bb300436bb7eefb8fb16 (diff)
downloaduhd-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.hpp21
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.