template<int Length>
class miniString
{
public:
miniString() {}
miniString(const char* instr) { strncpy(this->data,instr,Length-1); }
size_t Size() const { return Length; }
bool IsEmpty() const { return this->data[0] == '\0'; }
void Clear() { this->data[0] = '\0'; }
char * Get() { return this->data; }
miniString& operator = (const miniString& oth) { strcpy(this->data,oth.data); return *this; }
bool operator == (const miniString& oth) const { return strcmp(this->data,oth.data) == 0; }
bool operator != (const miniString& oth) const { return strcmp(this->data,oth.data) != 0; }
bool operator < (const miniString& oth) const { return strcmp(this->data,oth.data) < 0; }
private:
char data[Length] = { 0 };
};
typedef miniString<8> future_string;