📄 hxstring.h
字号:
}
inline
void CHXStringRep::SetStringSize(INT32 strSize)
{
HX_ASSERT(strSize >= 0);
HX_ASSERT(strSize < m_bufSize);
HX_ASSERT((size_t)strSize == strlen(m_pData));
m_strSize = strSize;
}
inline
bool CHXStringRep::IsShared() const
{
return (m_refCount > 1);
}
inline
UINT32 CHXString::GetLength() const
{
return (m_pRep) ? m_pRep->GetStringSize() : 0;
}
inline
BOOL CHXString::IsEmpty() const
{
return (GetLength() == 0);
}
inline
char CHXString::GetAt(INT32 i) const
{
HX_ASSERT(m_pRep);
HX_ASSERT(i >= 0);
HX_ASSERT(i < m_pRep->GetBufferSize());
return m_pRep->GetBuffer()[i];
}
inline
char CHXString::operator[](short i) const
{
HX_ASSERT(m_pRep);
HX_ASSERT(i >= 0);
HX_ASSERT(i < m_pRep->GetBufferSize());
return m_pRep->GetBuffer()[i];
}
inline
char CHXString::operator[](unsigned short i) const
{
HX_ASSERT(m_pRep);
HX_ASSERT((INT32)i < m_pRep->GetBufferSize());
return m_pRep->GetBuffer()[i];
}
inline
char CHXString::operator[](int i) const
{
HX_ASSERT(m_pRep);
HX_ASSERT(i >= 0);
HX_ASSERT(i < m_pRep->GetBufferSize());
return m_pRep->GetBuffer()[i];
}
inline
char CHXString::operator[](unsigned int i) const
{
HX_ASSERT(m_pRep);
HX_ASSERT(i < (unsigned int)m_pRep->GetBufferSize());
return m_pRep->GetBuffer()[i];
}
inline
char CHXString::operator[](long i) const
{
HX_ASSERT(m_pRep);
HX_ASSERT(i >= 0);
HX_ASSERT(i < m_pRep->GetBufferSize());
return m_pRep->GetBuffer()[i];
}
inline
char CHXString::operator[](unsigned long i) const
{
HX_ASSERT(m_pRep);
HX_ASSERT(i < (unsigned long)m_pRep->GetBufferSize());
return m_pRep->GetBuffer()[i];
}
inline
CHXString::operator const char*() const
{
return (m_pRep) ? m_pRep->GetBuffer() : (const char*)(&m_pRep);
}
inline
INT32 CHXString::Compare(const char* pStr) const
{
return strcmp((const char*)(*this), pStr);
}
inline
INT32 CHXString::CompareNoCase(const char* pStr) const
{
return strcasecmp((const char*)(*this), pStr);
}
inline
bool CHXString::operator>(const char* pStr) const
{
return (Compare(pStr) > 0);
}
inline
bool CHXString::operator>(const CHXString& rhs) const
{
return (*this > ((const char*)rhs));
}
inline
bool CHXString::operator>(const unsigned char* pStr) const
{
return (*this > ((const char*)pStr));
}
inline
bool operator>(const char* pA, const CHXString& b)
{
return (b < pA);
}
inline
bool operator>(const unsigned char* pA, const CHXString& b)
{
return (b < pA);
}
inline
bool CHXString::operator>=(const char* pStr) const
{
return (Compare(pStr) >= 0);
}
inline
bool CHXString::operator>=(const CHXString& rhs) const
{
return (*this >= ((const char*)rhs));
}
inline
bool CHXString::operator>=(const unsigned char* pStr) const
{
return (*this >= ((const char*)pStr));
}
inline
bool operator>=(const char* pA, const CHXString& b)
{
return (b <= pA);
}
inline
bool operator>=(const unsigned char* pA, const CHXString& b)
{
return (b <= pA);
}
inline
bool CHXString::operator==(const char* pStr) const
{
return (strcmp(((const char*)*this), pStr) == 0);
}
inline
bool CHXString::operator==(const CHXString& rhs) const
{
return ((m_pRep == rhs.m_pRep) ||
((GetLength() == rhs.GetLength()) &&
(*this == ((const char*)rhs))));
}
inline
bool CHXString::operator==(const unsigned char* pStr) const
{
return (*this == ((const char*)pStr));
}
inline
bool operator==(const char* pA, const CHXString& b)
{
return (b == pA);
}
inline
bool operator==(const unsigned char* pA, const CHXString& b)
{
return (b == pA);
}
inline
bool CHXString::operator!=(const char* pStr) const
{
return (strcmp(((const char*)*this), pStr) != 0);
}
inline
bool CHXString::operator!=(const CHXString& rhs) const
{
return ((m_pRep != rhs.m_pRep) &&
((GetLength() != rhs.GetLength()) ||
(*this != ((const char*)rhs))));
}
inline
bool CHXString::operator!=(const unsigned char* pStr) const
{
return (*this != ((const char*)pStr));
}
inline
bool operator!=(const char* pA, const CHXString& b)
{
return (b != pA);
}
inline
bool operator!=(const unsigned char* pA, const CHXString& b)
{
return (b != pA);
}
inline
bool CHXString::operator<=(const char* pStr) const
{
return (Compare(pStr) <= 0);
}
inline
bool CHXString::operator<=(const CHXString& rhs) const
{
return (*this <= ((const char*)rhs));
}
inline
bool CHXString::operator<=(const unsigned char* pStr) const
{
return (*this <= ((const char*)pStr));
}
inline
bool operator<=(const char* pA, const CHXString& b)
{
return (b >= pA);
}
inline
bool operator<=(const unsigned char* pA, const CHXString& b)
{
return (b >= pA);
}
inline
bool CHXString::operator<(const char* pStr) const
{
return (Compare(pStr) < 0);
}
inline
bool CHXString::operator<(const CHXString& rhs) const
{
return (*this < ((const char*)rhs));
}
inline
bool CHXString::operator<(const unsigned char* pStr) const
{
return (*this < ((const char*)pStr));
}
inline
bool operator<(const char* pA, const CHXString& b)
{
return (b > pA);
}
inline
bool operator<(const unsigned char* pA, const CHXString& b)
{
return (b > pA);
}
inline
UINT32 CHXString::SafeStrlen(const char* pStr)
{
return (pStr) ? strlen(pStr) : 0;
}
#endif /* HXSTRING_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -