17 #ifndef _GLIBCXX_CCTYPE
20 #ifndef _GLIBCXX_ALGORITHM
25 if (!toAppend.empty()) {
26 if (!str.empty()) str.append(1,
' ');
33 #define CURRENT_REST std::string(pos, end).c_str()
45 void setPosition(
const stringCIter& position) { pos = position; }
51 while (pos != end && *pos != c) {
60 while (pos != end && *pos ==
' ') {
69 bool validNumber = allowMore ? spaces >= count : spaces == count;
73 count, allowMore ?
" or more" :
"",
84 stringCIter look =
pos;
85 for (p = 0; content[p]; ++p, ++look) {
86 if (content[p] != *look) {
96 std::advance(pos, len);
100 if (
atEnd() || strchr(delimiter, *pos)) {
104 stringCIter
start = pos++;
106 while (!
atEnd() && !strchr(delimiter, *pos)) ++
pos;
115 for (; isdigit(c = *pos); ++
pos) {
116 lnum = lnum*10+(c-
'0');
133 #error tools.h included twice
return string(buffer, length)
size_t lookingAt(const char *content)
const char * GBS_global_string(const char *templat,...)
void expectContent(const char *content)
static HelixNrInfo * start
StringParser(const std::string &str)
void advance(size_t offset)
std::string extractWord(const char *delimiter=" ")
void setPosition(const stringCIter &position)
size_t expectSpaces(size_t count=1, bool allowMore=true)
long eatNumber(bool &eaten)
stringCIter getPosition() const