From 8f5c3b918d1e6fda75086e05387068f32cdfffb2 Mon Sep 17 00:00:00 2001 From: MasonCodingHere Date: Fri, 11 Oct 2024 17:14:09 +0800 Subject: [PATCH] Update at Friday, October 11, 2024 PM05:14:09 HKT --- data-structures/Array/include/String.h | 54 ++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 3 deletions(-) diff --git a/data-structures/Array/include/String.h b/data-structures/Array/include/String.h index 97c4a49..c347bd5 100644 --- a/data-structures/Array/include/String.h +++ b/data-structures/Array/include/String.h @@ -48,14 +48,62 @@ class String{ Vector _data; }; - // Constructor and Desttructor -String::String(){ +String::String() : _data() {} + +String::~String(){ } -String::~String(){ +// Capacity +bool String::empty() const{ + return _data.empty(); +} + +size_t String::size() const{ + return _data.size(); +} + +size_t String::length() const +{ + return _data.size(); +} + +size_t String::capacity() const{ + return _data.capacity(); +} + +void String::reserve(const size_t n){ + _data.reserve(n); +} + +void String::resize(size_t n){ + _data.resize(n); +} + +void String::clear(){ + _data.clear(); +} + +void String::shrink_to_fit(){ + _data.shrink_to_fit(); +} + +// Elements access +char& String::front(){ + return _data.front(); +} + +char& String::back(){ + return _data.back(); +} + +char& String::at(const size_t index){ + return _data.at(index); +} +char& String::operator[](const size_t index){ + return _data[index]; } #endif // STRING_H \ No newline at end of file