diff options
Diffstat (limited to 'core/fxcrt')
-rw-r--r-- | core/fxcrt/cfx_bytestring.h | 3 | ||||
-rw-r--r-- | core/fxcrt/cfx_string_c_template.h | 6 | ||||
-rw-r--r-- | core/fxcrt/cfx_widestring.h | 3 |
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; |