44 {
45 std::string firstRemainder;
46 std::string secondRemainder;
49 valuesString,
50 &firstRemainder,
54 firstRemainder,
55 &secondRemainder,
59 secondRemainder,
60 &firstRemainder,
63 firstRemainder,
66 while( !(secondRemainder.empty()) )
67 {
70 secondRemainder,
71 &firstRemainder,
74 firstRemainder,
76 }
77 if( ( 0 < numberOfDaughterParticles )
78 &&
80 {
81 std::cout
82 << std::endl
83 << "LHPC::warning! An FOBS line declared a different number of daughter"
84 << " particles ( " << numberOfDaughterParticles << " ) to the actual"
85 << " number of daughter particle codes it had ( "
87 << " )! The declared number is being ignored in favor of the number of"
88 << " codes read in.";
89 std::cout
90 << std::endl
91 << "input string: \"" << valuesString << "\"";
92 std::cout << std::endl;
93 }
94 }
static std::string firstWordOf(std::string const &stringToParse, std::string *const remainderString=NULL, std::string const &separatorChars=whitespaceChars)
static std::string const whitespaceAndNewlineChars
static std::string trimFromFrontAndBack(std::string const &stringToTrim, std::string const &charsToTrim=whitespaceAndNewlineChars)
static double stringToDouble(std::string const &stringToInterpret)
static int stringToInt(std::string const &stringToInterpret)