diff options
Reorganized whole architecture
2 files changed, 0 insertions, 95 deletions
| -rw-r--r-- | src/String/String.cpp | 68 | ||||
| -rw-r--r-- | src/String/String.h | 27 |
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]; -} diff --git a/src/String/String.h b/src/String/String.h deleted file mode 100644 index 85bb284..0000000 --- a/src/String/String.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef HEADER_STRING -#define HEADER_STRING - -class String { - char* str; - unsigned length; - - void free(); - void copyFrom(const String& other); - -public: - String(const char* str); - const char* get_cstr() const; - - String(); - String(const String& other); - String& operator=(const String& other); - ~String(); - - String(String&& other); - String& operator=(String&& other); - - int compare(const String& other) const; - char operator[](unsigned index); -}; - -#endif |
