Skip to content

Commit a94b559

Browse files
committed
Merge pull request #100483 from Ivorforce/string-name-move-semantics
Add move semantics (constructor, assignment) to `StringName`.
2 parents fafc073 + 8c4e674 commit a94b559

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

core/string/string_name.h

+14
Original file line numberDiff line numberDiff line change
@@ -188,8 +188,22 @@ class StringName {
188188
};
189189

190190
StringName &operator=(const StringName &p_name);
191+
StringName &operator=(StringName &&p_name) {
192+
if (_data == p_name._data) {
193+
return *this;
194+
}
195+
196+
unref();
197+
_data = p_name._data;
198+
p_name._data = nullptr;
199+
return *this;
200+
}
191201
StringName(const char *p_name, bool p_static = false);
192202
StringName(const StringName &p_name);
203+
StringName(StringName &&p_name) {
204+
_data = p_name._data;
205+
p_name._data = nullptr;
206+
}
193207
StringName(const String &p_name, bool p_static = false);
194208
StringName(const StaticCString &p_static_string, bool p_static = false);
195209
StringName() {}

0 commit comments

Comments
 (0)