From 771b5cebda250f2a6a65aa7788e9051c94974c2b Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Thu, 6 Jan 2011 15:38:56 -0800 Subject: uhd: integrated boost split or tokenizer into source files, remove string split from algorithms header --- host/lib/usrp/subdev_spec.cpp | 12 +++++++++--- host/lib/usrp/usrp2/usrp2_impl.cpp | 7 ++++--- 2 files changed, 13 insertions(+), 6 deletions(-) (limited to 'host/lib/usrp') diff --git a/host/lib/usrp/subdev_spec.cpp b/host/lib/usrp/subdev_spec.cpp index 95d2cbb12..c905eab7d 100644 --- a/host/lib/usrp/subdev_spec.cpp +++ b/host/lib/usrp/subdev_spec.cpp @@ -16,15 +16,21 @@ // #include -#include +#include //for split +#include #include #include #include #include +#include using namespace uhd; using namespace uhd::usrp; +#define pair_tokenizer(inp) \ + boost::tokenizer > \ + (inp, boost::char_separator(" ")) + subdev_spec_pair_t::subdev_spec_pair_t( const std::string &db_name, const std::string &sd_name ): @@ -39,9 +45,9 @@ bool usrp::operator==(const subdev_spec_pair_t &lhs, const subdev_spec_pair_t &r } subdev_spec_t::subdev_spec_t(const std::string &markup){ - BOOST_FOREACH(const std::string &pair, std::split_string(markup)){ + BOOST_FOREACH(const std::string &pair, pair_tokenizer(markup)){ if (pair == "") continue; - std::vector db_sd = std::split_string(pair, ":"); + std::vector db_sd; boost::split(db_sd, pair, boost::is_any_of(":")); switch(db_sd.size()){ case 1: this->push_back(subdev_spec_pair_t("", db_sd.front())); break; case 2: this->push_back(subdev_spec_pair_t(db_sd.front(), db_sd.back())); break; diff --git a/host/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp index f910999d4..06ca61e13 100644 --- a/host/lib/usrp/usrp2/usrp2_impl.cpp +++ b/host/lib/usrp/usrp2/usrp2_impl.cpp @@ -22,7 +22,7 @@ #include #include #include -#include +#include //for split #include #include #include @@ -31,6 +31,7 @@ #include #include //htonl and ntohl #include +#include using namespace uhd; using namespace uhd::usrp; @@ -47,8 +48,8 @@ template std::string num2str(T num){ //! separate indexed device addresses into a vector of device addresses device_addrs_t sep_indexed_dev_addrs(const device_addr_t &dev_addr){ //------------ support old deprecated way and print warning -------- - if (dev_addr.has_key("addr")){ - std::vector addrs = std::split_string(dev_addr["addr"]); + if (dev_addr.has_key("addr") and not dev_addr["addr"].empty()){ + std::vector addrs; boost::split(addrs, dev_addr["addr"], boost::is_any_of(" ")); if (addrs.size() > 1){ device_addr_t fixed_dev_addr = dev_addr; fixed_dev_addr.pop("addr"); -- cgit v1.2.3