HOT_FUNC StringData *StringData::getChar(int offset) const { if (offset >= 0 && offset < size()) { return GetStaticString(m_data[offset]); } raise_notice("Uninitialized string offset: %d", offset); return GetStaticString(""); }
StringData *StringData::GetStaticString(const char *str) { StringData sd(str, strlen(str), AttachLiteral); return GetStaticString(&sd); }
StringData *StringData::GetStaticString(const std::string &str) { StringData sd(str.c_str(), str.size(), AttachLiteral); return GetStaticString(&sd); }
StringData *StringData::GetStaticString(const char *str) { return GetStaticString(str, strlen(str)); }
StringData *StringData::GetStaticString(const std::string &str) { return GetStaticString(str.c_str(), str.size()); }
StringData *StringData::GetStaticString(const char *str, size_t len) { StackStringData sd(str, len, CopyString); return GetStaticString(&sd); }
StringData* StringData::GetStaticString(const String& str) { assert(!str.isNull()); return GetStaticString(str.get()); }