|
@@ -110,6 +110,13 @@ public:
|
|
return m_impl->to_uppercase();
|
|
return m_impl->to_uppercase();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ String reversed() const
|
|
|
|
+ {
|
|
|
|
+ if (!m_impl)
|
|
|
|
+ return String();
|
|
|
|
+ return m_impl->reversed();
|
|
|
|
+ }
|
|
|
|
+
|
|
Vector<String> split_limit(char separator, int limit) const;
|
|
Vector<String> split_limit(char separator, int limit) const;
|
|
Vector<String> split(char separator) const;
|
|
Vector<String> split(char separator) const;
|
|
String substring(int start, int length) const;
|
|
String substring(int start, int length) const;
|
|
@@ -227,7 +234,6 @@ struct Traits<String> : public GenericTraits<String> {
|
|
struct CaseInsensitiveStringTraits : public AK::Traits<String> {
|
|
struct CaseInsensitiveStringTraits : public AK::Traits<String> {
|
|
static unsigned hash(const String& s) { return s.impl() ? s.to_lowercase().impl()->hash() : 0; }
|
|
static unsigned hash(const String& s) { return s.impl() ? s.to_lowercase().impl()->hash() : 0; }
|
|
static bool equals(const String& a, const String& b) { return a.to_lowercase() == b.to_lowercase(); }
|
|
static bool equals(const String& a, const String& b) { return a.to_lowercase() == b.to_lowercase(); }
|
|
-
|
|
|
|
};
|
|
};
|
|
|
|
|
|
inline bool operator<(const char* characters, const String& string)
|
|
inline bool operator<(const char* characters, const String& string)
|
|
@@ -264,5 +270,5 @@ inline bool operator<=(const char* characters, const String& string)
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-using AK::String;
|
|
|
|
using AK::CaseInsensitiveStringTraits;
|
|
using AK::CaseInsensitiveStringTraits;
|
|
|
|
+using AK::String;
|