diff options
Reorganized whole architecture
1 files changed, 0 insertions, 68 deletions
| -rw-r--r-- | src/String/String.cpp | 68 |
diff --git a/src/String/String.cpp b/src/String/String.cpp deleted file mode 100644 index 055f48e..0000000 --- a/src/String/String.cpp +++ /dev/null @@ -1,68 +0,0 @@ -#include "String.h" -#include <cstring> - -/* Private */ - -void String::free() { - delete[] str; -} - -void String::copyFrom(const String& other) { - str = new char[other.length]; - strcpy(str, other.str); - length = other.length; -} - -/* Public */ - -String::String(const char* str) { - length = strlen(str) + 1; // capture terminating zero - this->str = new char[length]; - strcpy(this->str, str); -} - -const char* String::get_cstr() const { - return str; -} - -String::String() : String("") {} - -String::String(const String& other) { - copyFrom(other); -} - -String& String::operator=(const String& other) { - if (this != &other) { - free(); - copyFrom(other); - } - return *this; -} - -String::~String() { - free(); -} - -String::String(String&& other) { - str = other.str; - other.str = nullptr; - length = other.length; -} - -String& String::operator=(String&& other) { - if (this != &other) { - delete[] str; - str = other.str; - other.str = nullptr; - length = other.length; - } - return *this; -} - -int String::compare(const String& other) const { - return strcmp(str, other.str); -} - -char String::operator[](unsigned index) { - return str[index]; -} |
