summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2021-10-04 10:39:37 +0200
committerGitHub <noreply@github.com>2021-10-04 10:39:37 +0200
commit463dbe52109a50299db7f1e08a3a23f70053fa11 (patch)
treecb052fd4460f9644542e46cbda536be4bdbbfbff /core
parent66ab3ce954a94fd43baed1dd74381dd32c893407 (diff)
parentcc57cbb73a4675f8b51e6cf4a77f0f9d814d4b01 (diff)
Merge pull request #53270 from akien-mga/charproxy-add-copy-constructor
Diffstat (limited to 'core')
-rw-r--r--core/string/ustring.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/core/string/ustring.h b/core/string/ustring.h
index 24da6b82af..1d80ccf58d 100644
--- a/core/string/ustring.h
+++ b/core/string/ustring.h
@@ -51,11 +51,15 @@ class CharProxy {
CowData<T> &_cowdata;
static const T _null = 0;
- _FORCE_INLINE_ CharProxy(const int &p_index, CowData<T> &cowdata) :
+ _FORCE_INLINE_ CharProxy(const int &p_index, CowData<T> &p_cowdata) :
_index(p_index),
- _cowdata(cowdata) {}
+ _cowdata(p_cowdata) {}
public:
+ _FORCE_INLINE_ CharProxy(const CharProxy<T> &p_other) :
+ _index(p_other._index),
+ _cowdata(p_other._cowdata) {}
+
_FORCE_INLINE_ operator T() const {
if (unlikely(_index == _cowdata.size())) {
return _null;
@@ -68,12 +72,12 @@ public:
return _cowdata.ptr() + _index;
}
- _FORCE_INLINE_ void operator=(const T &other) const {
- _cowdata.set(_index, other);
+ _FORCE_INLINE_ void operator=(const T &p_other) const {
+ _cowdata.set(_index, p_other);
}
- _FORCE_INLINE_ void operator=(const CharProxy<T> &other) const {
- _cowdata.set(_index, other.operator T());
+ _FORCE_INLINE_ void operator=(const CharProxy<T> &p_other) const {
+ _cowdata.set(_index, p_other.operator T());
}
};