/**
 * @class kStr
 * @brief String class functions
 */
 
class kStr
{
public:

	kStr(const kStr &in s);
	
	/**
	 * @brief Reports the zero-based index of the first occurrence of a specified string within this instance. The method returns -1 if the string is not found in this instance.
	 */
	int IndexOf(const kStr &in other);
	
	/**
	 * @brief Returns HashID from this instance
	 */
	uint Hash();
	
	/**
	 * @brief Converts string to int
	 */
	int Atoi();
	
	/**
	 * @brief Converts string to float
	 */
	float Atof();
	
	/**
	 * @brief Converts string to upper case characters
	 */
	kStr &ToUpper();
	
	/**
	 * @brief Converts string to lower case characters
	 */
	kStr &ToLower();
	
	/**
	 * @brief Returns The ASCII code of the character at the strings index
	 */
	int8 opIndex(const int index);
	
	kStr &opAssign(const kStr &in s);
	kStr opAdd(const kStr &in s);
	kStr opAdd(bool bValue);
	kStr opAdd(int iValue);
	kStr opAdd(float fValue);
	kStr &opAddAssign(const kStr &in s);
	kStr &opAddAssign(bool bValue);
};
