summaryrefslogtreecommitdiff
path: root/core/fxcrt
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxcrt')
-rw-r--r--core/fxcrt/cfx_bytestring.h3
-rw-r--r--core/fxcrt/cfx_string_c_template.h6
-rw-r--r--core/fxcrt/cfx_widestring.h3
3 files changed, 12 insertions, 0 deletions
diff --git a/core/fxcrt/cfx_bytestring.h b/core/fxcrt/cfx_bytestring.h
index a47b5f89ab..261060bda0 100644
--- a/core/fxcrt/cfx_bytestring.h
+++ b/core/fxcrt/cfx_bytestring.h
@@ -120,6 +120,9 @@ class CFX_ByteString {
return m_pData ? m_pData->m_String[index] : 0;
}
+ CharType First() const { return GetLength() ? (*this)[0] : 0; }
+ CharType Last() const { return GetLength() ? (*this)[GetLength() - 1] : 0; }
+
void SetAt(FX_STRSIZE index, char c);
FX_STRSIZE Insert(FX_STRSIZE index, char ch);
diff --git a/core/fxcrt/cfx_string_c_template.h b/core/fxcrt/cfx_string_c_template.h
index c46b0c4671..6bc71d853d 100644
--- a/core/fxcrt/cfx_string_c_template.h
+++ b/core/fxcrt/cfx_string_c_template.h
@@ -135,6 +135,12 @@ class CFX_StringCTemplate {
return m_Ptr.Get()[index];
}
+ UnsignedType First() const { return GetLength() ? (*this)[0] : 0; }
+
+ UnsignedType Last() const {
+ return GetLength() ? (*this)[GetLength() - 1] : 0;
+ }
+
const CharType CharAt(const FX_STRSIZE index) const {
ASSERT(IsValidIndex(index));
return static_cast<CharType>(m_Ptr.Get()[index]);
diff --git a/core/fxcrt/cfx_widestring.h b/core/fxcrt/cfx_widestring.h
index 242138853b..100fec6706 100644
--- a/core/fxcrt/cfx_widestring.h
+++ b/core/fxcrt/cfx_widestring.h
@@ -115,6 +115,9 @@ class CFX_WideString {
return m_pData ? m_pData->m_String[index] : 0;
}
+ CharType First() const { return GetLength() ? (*this)[0] : 0; }
+ CharType Last() const { return GetLength() ? (*this)[GetLength() - 1] : 0; }
+
void SetAt(FX_STRSIZE index, wchar_t c);
int Compare(const wchar_t* str) const;