From e0a2676d542f33f2a17ae3332738b9df971cc343 Mon Sep 17 00:00:00 2001 From: Gary Talent <gtalent2@gmail.com> Date: Sun, 15 Mar 2020 14:31:43 -0500 Subject: [PATCH] [ox/std] Add String::operator=(const String&) --- deps/ox/src/ox/std/string.cpp | 16 ++++++++++------ deps/ox/src/ox/std/string.hpp | 2 ++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/deps/ox/src/ox/std/string.cpp b/deps/ox/src/ox/std/string.cpp index 59ef281e..ec4918fb 100644 --- a/deps/ox/src/ox/std/string.cpp +++ b/deps/ox/src/ox/std/string.cpp @@ -24,12 +24,6 @@ String::String(const char *str) noexcept { *this = str; } -const String &String::operator=(int64_t i) noexcept { - char str[65] = {}; - ox_itoa(i, str); - return this->operator=(str); -} - const String &String::operator=(const char *str) noexcept { std::size_t strLen = ox_strlen(str) + 1; m_buff.resize(strLen + 1); @@ -43,6 +37,16 @@ const String &String::operator=(char *str) noexcept { return *this = static_cast<const char*>(str); } +const String &String::operator=(int64_t i) noexcept { + char str[65] = {}; + ox_itoa(i, str); + return this->operator=(str); +} + +const String &String::operator=(const String &src) noexcept { + return *this = src.c_str(); +} + const String &String::operator+=(const char *str) noexcept { std::size_t strLen = ox_strlen(str); auto currentLen = len(); diff --git a/deps/ox/src/ox/std/string.hpp b/deps/ox/src/ox/std/string.hpp index 3a319949..1f8eddd1 100644 --- a/deps/ox/src/ox/std/string.hpp +++ b/deps/ox/src/ox/std/string.hpp @@ -33,6 +33,8 @@ class String { const String &operator=(int64_t i) noexcept; + const String &operator=(const String &src) noexcept; + const String &operator+=(const char *str) noexcept; const String &operator+=(char *str) noexcept;