Added ability for ifNextInclude and changed data type on isCaracter to ZString.

This commit is contained in:
Brad Arant 2024-10-31 15:48:13 -07:00
parent 3eb1f5954a
commit f1337c682a
2 changed files with 18 additions and 5 deletions

View File

@ -268,15 +268,21 @@ namespace coreutils {
return list;
}
bool ZString::isCharacter(char ch, const char *string) {
int len = strlen(string);
for (int ix = 0; ix < len; ++ix) {
if (ch == string[ix])
bool ZString::isCharacter(char ch, ZString include) {
for (int ix = 0; ix < include.getLength(); ++ix) {
if (ch == include.charAt(ix))
return true;
}
return false;
}
bool ZString::ifNextInclude(ZString include) {
if((cursor <= (data + length)) && isCharacter(*cursor, include))
return true;
return false;
}
ZString ZString::getTokenInclude(const char *include) {
char *start = cursor;
while ((cursor <= (data + length)) && isCharacter(*cursor, include))

View File

@ -202,6 +202,13 @@ namespace coreutils {
std::vector<ZString> &split(std::string delimiter, size_t maxSize = 0);
///
/// If ZString cursor is currently pointing to a character in the include
/// string then return true.
///
bool ifNextInclude(ZString include);
///
/// Use getTokenInclude with a list of character to allow the forwarding
/// of the cursor through the data until a character that is not in the
@ -426,7 +433,7 @@ namespace coreutils {
private:
std::stack<char *> stack;
bool isCharacter(char ch, const char *string);
bool isCharacter(char ch, ZString include);
};
}