25 #include <csutil/array.h> 26 #include <csutil/stringarray.h> 27 #include <csutil/csstring.h> 28 #include <csgeom/vector3.h> 29 #include <iengine/sector.h> 30 #include <csgeom/matrix3.h> 31 #include <csgeom/transfrm.h> 32 #include <csutil/stringconv.h> 43 void Split(
const csString& str, csArray<csString> & arr);
56 csString&
GetWordNumber(
const csString& str,
int number,
size_t * startpos = NULL);
65 WordArray(
const csString& cmd,
bool ignoreQuotes =
true);
75 csString
Get(
size_t wordNum)
const 77 if(wordNum < GetSize())
78 return csStringArray::Get(wordNum);
92 return csStringArray::DeleteIndex(n);
95 bool GetString(
size_t wordNum, csString &retValue)
const 97 if(wordNum >= GetSize())
102 retValue = csStringArray::Get(wordNum);
111 const char* toConvert =
Get(wordNum).GetDataSafe();
112 char* endPtr =
const_cast<char*
>(toConvert);
117 strtol(toConvert, &endPtr, 10);
120 if (errno != 0)
return false;
121 if (toConvert == endPtr)
return false;
122 if (*endPtr !=
'\0')
return false;
129 return atoi(
Get(wordNum).GetData());
132 bool GetInt(
size_t wordNum,
int &retValue )
const 136 const char *data =
Get(wordNum).GetData();
140 if (!data || *data ==
'\0')
145 int value = (
int)strtol(data, &end, 10);
162 const char* toConvert =
Get(wordNum).GetDataSafe();
163 const char* endPtr =
const_cast<char*
>(toConvert);
168 CS::Utility::strtof(toConvert, &endPtr);
171 if (errno != 0)
return false;
172 if (toConvert == endPtr)
return false;
173 if (*endPtr !=
'\0')
return false;
180 return atof(
Get(wordNum).GetData());
183 bool GetFloat(
size_t wordNum,
float &retValue )
const 187 const char *data =
Get(wordNum).GetData();
191 if (!data || *data ==
'\0')
196 float value = (
float)CS::Utility::strtof(data, &end);
209 csString
GetTail(
size_t wordNum)
const;
210 void GetTail(
size_t wordNum, csString& dest)
const;
213 csString
GetWords(
size_t startWord,
size_t endWord)
const;
215 size_t FindStr(
const csString& str,
int start=0)
const;
218 size_t AddWord(
const csString& cmd,
size_t pos);
220 void SkipSpaces(
const csString& cmd,
size_t & pos);
224 bool psContain(
const csString& str,
const csArray<csString>& strs);
227 csArray<csString>
psSplit(csString& str,
char delimer);
228 csArray<csString>
psSplit(
const char* str,
char delimer);
230 csString
toString(
const csVector2& pos);
231 csString
toString(
const csVector3& pos);
232 csString
toString(
const csVector4& pos);
233 csString
toString(
const csVector3& pos, iSector* sector);
234 csString
toString(
const csMatrix3& mat);
235 csString
toString(
const csTransform& trans);
243 csArray<csString>
splitTextInLines(csString inText,
size_t maxLineLength,
int& maxRowLen);
float GetFloat(size_t wordNum) const
csString GetTail(size_t wordNum) const
int GetInt(size_t wordNum) const
bool DeleteIndex(size_t n)
Delete the n'th element from the word array.
csString & GetWordNumber(const csString &str, int number, size_t *startpos=NULL)
Return the given word number.
bool GetFloat(size_t wordNum, float &retValue) const
bool IsInt(size_t wordNum) const
Check if the word is an interger.
bool IsFloat(size_t wordNum) const
Check if the word is a float.
csArray< csString > splitTextInLines(csString inText, size_t maxLineLength, int &maxRowLen)
Split text into multiple lines.
csString GetWords(size_t startWord, size_t endWord) const
bool GetInt(size_t wordNum, int &retValue) const
bool psSentenceContain(const csString &sentence, const csString &word)
WordArray is class that parses text command (e.g.
size_t FindStr(const csString &str, int start=0) const
bool psContain(const csString &str, const csArray< csString > &strs)
const char * PS_GetFileName(const char *path)
size_t AddWord(const csString &cmd, size_t pos)
bool GetString(size_t wordNum, csString &retValue) const
csArray< csString > psSplit(csString &str, char delimer)
csString toString(const csVector2 &pos)
csString operator[](size_t wordNum) const
void Split(const csString &str, csArray< csString > &arr)
Split a csString into an array of sctrings.
size_t AddQuotedWord(const csString &cmd, size_t pos)
WordArray(const csString &cmd, bool ignoreQuotes=true)
void SkipSpaces(const csString &cmd, size_t &pos)
bool isFlagSet(const psString &flagstr, const char *flag)
csString Get(size_t wordNum) const
Returns given word, or empty string if it does not exist.