From bdc5674ace9fc06a58497d0fc25cdff07cddf72b Mon Sep 17 00:00:00 2001 From: DhruvMaroo Date: Sun, 30 May 2021 12:33:40 +0530 Subject: [PATCH] added move assignment operator --- include/core/String.hpp | 1 + src/core/String.cpp | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/include/core/String.hpp b/include/core/String.hpp index 62b58e4..ae3dd89 100644 --- a/include/core/String.hpp +++ b/include/core/String.hpp @@ -56,6 +56,7 @@ public: wchar_t operator[](const int idx) const; void operator=(const String &s); + void operator=(String&& s); bool operator==(const String &s) const; bool operator!=(const String &s) const; String operator+(const String &s) const; diff --git a/src/core/String.cpp b/src/core/String.cpp index 19e44f9..3414adf 100644 --- a/src/core/String.cpp +++ b/src/core/String.cpp @@ -99,6 +99,12 @@ void String::operator=(const String &s) { godot::api->godot_string_new_copy(&_godot_string, &s._godot_string); } +void String::operator=(String&& s) { + godot::api->godot_string_destroy(&_godot_string); + godot::api->godot_string_new_copy(&_godot_string, &s._godot_string); + godot::api->godot_string_destroy(&s._godot_string); +} + bool String::operator==(const String &s) const { return godot::api->godot_string_operator_equal(&_godot_string, &s._godot_string); }