diff options
Diffstat (limited to 'core/fxcrt/cfx_bytestring.h')
-rw-r--r-- | core/fxcrt/cfx_bytestring.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/core/fxcrt/cfx_bytestring.h b/core/fxcrt/cfx_bytestring.h index 432f28a06d..b976287617 100644 --- a/core/fxcrt/cfx_bytestring.h +++ b/core/fxcrt/cfx_bytestring.h @@ -8,6 +8,7 @@ #define CORE_FXCRT_CFX_BYTESTRING_H_ #include <functional> +#include <iterator> #include <sstream> #include <utility> @@ -25,6 +26,7 @@ class CFX_ByteString { public: using CharType = char; using const_iterator = const CharType*; + using const_reverse_iterator = std::reverse_iterator<const_iterator>; CFX_ByteString(); CFX_ByteString(const CFX_ByteString& other); @@ -77,6 +79,14 @@ class CFX_ByteString { return m_pData ? m_pData->m_String + m_pData->m_nDataLength : nullptr; } + // Note: Any subsequent modification of |this| will invalidate iterators. + const_reverse_iterator rbegin() const { + return const_reverse_iterator(end()); + } + const_reverse_iterator rend() const { + return const_reverse_iterator(begin()); + } + FX_STRSIZE GetLength() const { return m_pData ? m_pData->m_nDataLength : 0; } FX_STRSIZE GetStringLength() const { return m_pData ? FXSYS_strlen(m_pData->m_String) : 0; |