17  if (s_domid.find(
":") == std::string::npos) {
 
   18    return boost::lexical_cast<uint32_t>(s_domid);
 
   20    boost::char_separator<char> 
const args_sep(
":");
 
   21    boost::tokenizer<boost::char_separator<char> > tok(s_domid, args_sep);
 
   26    BOOST_FOREACH(std::string 
byte, tok) {
 
   27      if (
byte.size() != 2) {
 
   28        throw std::runtime_error(
"Error: malformed MAC address");
 
   34        if (count == 0 && 
byte == 
"08") {
 
   35        } 
else if (count == 1 && 
byte == 
"00") {
 
   37          throw std::runtime_error(
 
   38              "Error: the provided MAC address is not a CLB MAC." 
   45    return std::strtol(ss.str().c_str(), 0, 16);
 
 
   51  boost::char_separator<char> 
const args_sep(
";");
 
   52  boost::char_separator<char> 
const fields_sep(
"=");
 
   53  boost::char_separator<char> 
const white_spaces(
"\t ");
 
   57  while (
map.peek() != EOF) {
 
   61    std::string::size_type 
const pound = line.find(
'#');
 
   63    if (pound != std::string::npos) {
 
   64      line = line.substr(0, pound);
 
   67    boost::algorithm::trim(line);
 
   68    boost::tokenizer<boost::char_separator<char> > tok(line, args_sep);
 
   70    BOOST_FOREACH(std::string s, tok) {
 
   71      boost::algorithm::trim(s);
 
   72      boost::tokenizer<boost::char_separator<char> > fields(s, fields_sep);
 
   73      typedef boost::tokenizer<boost::char_separator<char> >::iterator Iter;
 
   75      Iter it = fields.begin();
 
   77      std::string s_domid = *it;
 
   78      boost::algorithm::trim(s_domid);
 
   79      uint32_t 
const domid = 
getDomId(s_domid);
 
   82      if (it != fields.end()) {
 
   83        std::string name = *it;
 
   84        boost::algorithm::trim(name);
 
   86        dom_map.insert(std::make_pair(domid, name));
 
   88        throw std::runtime_error(
"Error: malformed assignment");