mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-07-11 05:24:10 +08:00
git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@58106 954022d7-b5bf-4e40-9824-e11837661b57
113 lines
1.7 KiB
C++
113 lines
1.7 KiB
C++
#ifndef _MATH_EQUATION_STRING_H
|
|
#define _MATH_EQUATION_STRING_H
|
|
|
|
namespace MathEquation
|
|
{
|
|
#define STRING_NOTFOUND std::string::npos
|
|
|
|
class String
|
|
{
|
|
public:
|
|
|
|
String() {}
|
|
String(const char* val) : Value(val){}
|
|
String(std::string val) : Value(val){}
|
|
|
|
String &operator=(String &other)
|
|
{
|
|
Value = other.Value;
|
|
return (*this);
|
|
}
|
|
|
|
String &operator+=(const String &other)
|
|
{
|
|
Value += other.Value;
|
|
return (*this);
|
|
}
|
|
|
|
String &operator+=(const char* sChars)
|
|
{
|
|
Value += std::string(sChars);
|
|
return (*this);
|
|
}
|
|
|
|
String &operator+=(const char unChar)
|
|
{
|
|
char oChars[2];
|
|
oChars[0] = unChar; oChars[1] = 0x00;
|
|
Value += std::string((char*)&oChars);
|
|
return (*this);
|
|
}
|
|
|
|
void Append(const char* str)
|
|
{
|
|
Value.append(str);
|
|
}
|
|
|
|
void Append(String str)
|
|
{
|
|
Value.append(str.Value);
|
|
}
|
|
|
|
void Append(unsigned short ushUnicode)
|
|
{
|
|
char oChars[2];
|
|
oChars[0] = ushUnicode; oChars[1] = 0x00;
|
|
Value += std::string((char*)&oChars);
|
|
}
|
|
|
|
void AppendAscii(const char *sChars)
|
|
{
|
|
Value += std::string(sChars);
|
|
}
|
|
|
|
void Erase(int nPos = 0, int nLen = std::string::npos)
|
|
{
|
|
Value.erase(nPos, nLen);
|
|
}
|
|
|
|
int Len()
|
|
{
|
|
return (int)Value.length();
|
|
}
|
|
|
|
BYTE GetChar(int nPos)
|
|
{
|
|
return Value[nPos];
|
|
}
|
|
|
|
void InsertAscii(const char* str, int nPos)
|
|
{
|
|
Value.insert(nPos, str);
|
|
}
|
|
|
|
void Insert(String str, int nPos)
|
|
{
|
|
Value.insert(nPos, str.Value);
|
|
}
|
|
|
|
int SearchBackward(char nChar)
|
|
{
|
|
return (int)Value.rfind(nChar);
|
|
}
|
|
|
|
static String CreateFromInt32(int nValue)
|
|
{
|
|
char intStr[32];
|
|
_itoa_s(nValue, (char *)&intStr, 32, 10);
|
|
|
|
return String(intStr);
|
|
}
|
|
|
|
std::string GetValue()
|
|
{
|
|
return Value;
|
|
}
|
|
|
|
private:
|
|
|
|
std::string Value;
|
|
};
|
|
}
|
|
|
|
#endif |