summaryrefslogtreecommitdiff
path: root/core/fxcrt/cfx_string_c_template.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxcrt/cfx_string_c_template.h')
-rw-r--r--core/fxcrt/cfx_string_c_template.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/core/fxcrt/cfx_string_c_template.h b/core/fxcrt/cfx_string_c_template.h
index 6a95a05d45..bc0fe1e0a0 100644
--- a/core/fxcrt/cfx_string_c_template.h
+++ b/core/fxcrt/cfx_string_c_template.h
@@ -119,8 +119,13 @@ class CFX_StringCTemplate {
FX_STRSIZE GetLength() const { return m_Length; }
bool IsEmpty() const { return m_Length == 0; }
- UnsignedType GetAt(FX_STRSIZE index) const { return m_Ptr.Get()[index]; }
+ UnsignedType GetAt(FX_STRSIZE index) const {
+ ASSERT(index >= 0 && index < GetLength());
+ return m_Ptr.Get()[index];
+ }
+
CharType CharAt(FX_STRSIZE index) const {
+ ASSERT(index >= 0 && index < GetLength());
return static_cast<CharType>(m_Ptr.Get()[index]);
}
@@ -159,9 +164,7 @@ class CFX_StringCTemplate {
return CFX_StringCTemplate(m_Ptr.Get() + m_Length - count, count);
}
- const UnsignedType& operator[](size_t index) const {
- return m_Ptr.Get()[index];
- }
+ UnsignedType operator[](FX_STRSIZE index) const { return GetAt(index); }
bool operator<(const CFX_StringCTemplate& that) const {
int result = FXSYS_cmp(reinterpret_cast<const CharType*>(m_Ptr.Get()),