⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hxstring.h

📁 symbian 下的helix player源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
}

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 + -