Merge pull request #99815 from Ivorforce/string-name-not-equal-inline

Move StringName `!=` operator to the header file to make it inlineable.
This commit is contained in:
Rémi Verschelde 2024-12-02 15:51:43 +01:00
commit d7515dddaa
No known key found for this signature in database
GPG Key ID: C3336907360768E1
2 changed files with 5 additions and 9 deletions

View File

@ -191,12 +191,6 @@ bool StringName::operator!=(const char *p_name) const {
return !(operator==(p_name));
}
bool StringName::operator!=(const StringName &p_name) const {
// the real magic of all this mess happens here.
// this is why path comparisons are very fast
return _data != p_name._data;
}
char32_t StringName::operator[](int p_index) const {
if (_data) {
if (_data->cname) {

View File

@ -132,10 +132,13 @@ public:
return _data >= p_name._data;
}
_FORCE_INLINE_ bool operator==(const StringName &p_name) const {
// the real magic of all this mess happens here.
// this is why path comparisons are very fast
// The real magic of all this mess happens here.
// This is why path comparisons are very fast.
return _data == p_name._data;
}
_FORCE_INLINE_ bool operator!=(const StringName &p_name) const {
return _data != p_name._data;
}
_FORCE_INLINE_ uint32_t hash() const {
if (_data) {
return _data->hash;
@ -146,7 +149,6 @@ public:
_FORCE_INLINE_ const void *data_unique_pointer() const {
return (void *)_data;
}
bool operator!=(const StringName &p_name) const;
_FORCE_INLINE_ operator String() const {
if (_data) {