25 std::string privateString;
30 explicit StringBuilder(
const std::string& initialString) : privateString(initialString) {}
39 return privateString[index];
44 privateString += toAppend;
56 privateString.
insert(position, toInsert);
74 return privateString.length();
79 privateString.resize(newLength);
84 return privateString.capacity();
89 privateString.reserve(minimumCapacity);
94 privateString.erase(start, end - start);
99 const std::string& newString)
101 privateString.
replace(start, end - start, newString);
106 template <
typename T>
static std::string
toString(
const T& subject)
108 std::ostringstream ss;
char charAt(std::size_t index)
void setLength(std::size_t newLength)
StringBuilder(std::size_t capacity)
StringBuilder * append(const std::string &toAppend)
StringBuilder * replace(std::size_t start, std::size_t end, const std::string &newString)
StringBuilder(const std::string &initialString)
StringBuilder * insert(std::size_t position, const std::string &toInsert)
StringBuilder * remove(std::size_t start, std::size_t end)
StringBuilder * insert(std::size_t position, const T &toInsert)
StringBuilder * append(const T &toAppend)
void ensureCapacity(std::size_t minimumCapacity)