CMS 3D CMS Logo

MsgTools Namespace Reference


Functions

uint8fillNames (const Strings &names, uint8 *pos)
void getNames (uint8 *from, uint32 from_len, Strings &to)


Function Documentation

uint8* MsgTools::fillNames ( const Strings names,
uint8 pos 
) [inline]

Definition at line 75 of file MsgTools.h.

References convert(), edm::copy_all(), and first.

Referenced by InitMsgBuilder::InitMsgBuilder(), and ConsRegResponseBuilder::setStreamSelectionTable().

00076 {
00077   uint32 sz = names.size();
00078   convert(sz,pos); // save number of strings
00079   uint8* len_pos = pos + sizeof(char_uint32); // area for length
00080   pos = len_pos + sizeof(char_uint32); // area for full string of names
00081   bool first = true;
00082 
00083   for(Strings::const_iterator beg = names.begin(); beg != names.end(); ++beg) {
00084       if(first) first = false; else *pos++ = ' ';
00085       pos = edm::copy_all(*beg,pos);
00086   }
00087   convert((uint32)(pos-len_pos-sizeof(char_uint32)),len_pos);
00088   return pos;
00089 }

void MsgTools::getNames ( uint8 from,
uint32  from_len,
Strings to 
) [inline]

Definition at line 91 of file MsgTools.h.

References edmNew::copy().

Referenced by ConsRegResponseView::getStreamSelectionTable(), InitMsgView::hltTriggerNames(), InitMsgView::hltTriggerSelections(), and InitMsgView::l1TriggerNames().

00092 {
00093   // not the most efficient way to do this
00094   std::istringstream ist(std::string(reinterpret_cast<char *>(from),from_len));
00095   typedef std::istream_iterator<std::string> Iter;
00096   std::copy(Iter(ist),Iter(),std::back_inserter(to));
00097 }


Generated on Tue Jun 9 18:49:09 2009 for CMSSW by  doxygen 1.5.4