]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/common/charstr.h
ICU-66108.tar.gz
[apple/icu.git] / icuSources / common / charstr.h
index 1a97e01988f991b869773488a5f9c5cd0734b880..23b950ed6ecc769f275e3018406a2ace87936eb6 100644 (file)
@@ -82,10 +82,24 @@ public:
 
     const char *data() const { return buffer.getAlias(); }
     char *data() { return buffer.getAlias(); }
+    /**
+     * Allocates length()+1 chars and copies the NUL-terminated data().
+     * The caller must uprv_free() the result.
+     */
+    char *cloneData(UErrorCode &errorCode) const;
+
+    bool operator==(StringPiece other) const {
+        return len == other.length() && (len == 0 || uprv_memcmp(data(), other.data(), len) == 0);
+    }
+    bool operator!=(StringPiece other) const {
+        return !operator==(other);
+    }
 
     /** @return last index of c, or -1 if c is not in this string */
     int32_t lastIndexOf(char c) const;
 
+    bool contains(StringPiece s) const;
+
     CharString &clear() { len=0; buffer[0]=0; return *this; }
     CharString &truncate(int32_t newLength);