ZString modifications.

This commit is contained in:
barant committed 2021-07-31 11:15:07 -07:00
1 parent ff2c2b7432
commit 78cb2fdd10
2 files changed
+36 -3

No files matched your search

+21 -3
View File
@@ -8,6 +8,16 @@ namespace coreutils {
return os; return os;
} }
std::ostream& operator<<(std::ostream& os, const std::string& string) {
os << string;
return os;
}
std::ostream& operator+(std::ostream& os, const ZString& zstring) {
os << zstring;
return os;
}
ZString::ZString() { ZString::ZString() {
data = NULL; data = NULL;
length = 0; length = 0;
@@ -42,11 +52,15 @@ namespace coreutils {
return std::string(data, len); return std::string(data, len);
} }
std::vector<ZString> ZString::split(std::string &delimiter, size_t maxSize) {
return split(ZString(delimiter.c_str()), maxSize);
}
std::vector<ZString> ZString::split(ZString delimiter, size_t maxSize) { std::vector<ZString> ZString::split(ZString delimiter, size_t maxSize) {
list.clear(); list.clear();
if(length == 0) { if(length == 0) {
list.push_back(ZString((char *)"")); list.push_back(ZString((char *)""));
return list; return list;
} }
char *end = data + length; char *end = data + length;
@@ -94,10 +108,14 @@ namespace coreutils {
bool ZString::equals(ZString zstring) { bool ZString::equals(ZString zstring) {
if(zstring.getLength() != getLength()) if(zstring.getLength() != getLength())
return false; return false;
return strncmp(data, zstring.getData(), getLength()) == 0; return strncmp(data, zstring.getData(), getLength()) == 0;
} }
bool ZString::equals(std::string string) {
return strncmp(string.c_str(), getData(), getLength()) == 0;
}
bool ZString::ifNext(char *value) { bool ZString::ifNext(char *value) {
bool test = (strncmp(cursor, value, strlen(value)) == 0); bool test = (strncmp(cursor, value, strlen(value)) == 0);
if(test) if(test)
+15
View File
@@ -61,6 +61,9 @@ namespace coreutils {
/// ///
friend std::ostream& operator<<(std::ostream& os, const ZString& zstring); friend std::ostream& operator<<(std::ostream& os, const ZString& zstring);
friend std::ostream& operator<<(std::ostream& os, const std::string& string);
friend std::ostream& operator+(std::ostream& os, const ZString& zstring);
/// ///
/// Return a vector of ZString objects which contain the parts established /// Return a vector of ZString objects which contain the parts established
@@ -95,6 +98,12 @@ namespace coreutils {
std::vector<ZString> split(ZString delimiter, size_t maxSize = 0); std::vector<ZString> split(ZString delimiter, size_t maxSize = 0);
///
///
///
std::vector<ZString> split(std::string &delimiter, size_t maxSize = 0);
/// ///
/// Use getTokenInclude with a list of character to allow the forwarding /// 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 /// of the cursor through the data until a character that is not in the
@@ -133,6 +142,12 @@ namespace coreutils {
bool equals(ZString zstring); bool equals(ZString zstring);
///
///
///
bool equals(std::string string);
/// ///
/// Advance the cursor the length of the provided value if the value at /// Advance the cursor the length of the provided value if the value at
/// the cursor position is equal to the value provided. /// the cursor position is equal to the value provided.