File Use-explicit-this-for-dependent-base-members.patch of Package TreeMaker

From: Aaron Puchert <aaronpuchert@alice-dsl.net>
Date: Sat, 8 Apr 2023 23:11:38 +0200
Subject: [PATCH 02/20] Use explicit `this->` for dependent base members

Might have accidentally worked with implicit `this` back in the day, but
since base classes can be specialized, lookup can only happen after
instantiation, which prevents implicit `this` in referring to its
members with all conformant compilers.
---
 Source/tmModel/tmPtrClasses/tmArray.h      | 16 ++++++++--------
 Source/tmModel/tmPtrClasses/tmDpptrArray.h |  4 ++--
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/Source/tmModel/tmPtrClasses/tmArray.h b/Source/tmModel/tmPtrClasses/tmArray.h
index 3782b98..f7f2547 100644
--- a/Source/tmModel/tmPtrClasses/tmArray.h
+++ b/Source/tmModel/tmPtrClasses/tmArray.h
@@ -171,7 +171,7 @@ Add an element to the beginning of the list
 template <class T>
 void tmArray<T>::push_front(const T& t)
 {
-  insert(this->begin(), t);
+  this->insert(this->begin(), t);
 }
 
 
@@ -182,7 +182,7 @@ Add an element to the list if it isn't already there
 template <class T>
 void tmArray<T>::union_with(const T& t)
 {
-  if (find(this->begin(), this->end(), t) == this->end()) push_back(t);
+  if (find(this->begin(), this->end(), t) == this->end()) this->push_back(t);
 }
 
 
@@ -206,7 +206,7 @@ Remove an item from a list given its index
 template <class T>
 tmArray<T>& tmArray<T>::RemoveItemAt(std::size_t n)
 {
-  erase(this->begin() + ptrdiff_t(n) - 1);
+  this->erase(this->begin() + ptrdiff_t(n) - 1);
   return *this;
 }
 
@@ -217,7 +217,7 @@ Remove an item from a list given its value
 template <class T>
 void tmArray<T>::erase_remove(const T& t)
 {
-  erase(remove(this->begin(), this->end(), t), this->end());
+  this->erase(remove(this->begin(), this->end(), t), this->end());
 }
 
 
@@ -240,7 +240,7 @@ template <class T>
 tmArray<T>& tmArray<T>::InsertItemAt(std::size_t n, const T& t)
 {
   TMASSERT(n > 0); // 1-based indexing
-  insert(this->begin() + ptrdiff_t(n) - 1, t);
+  this->insert(this->begin() + ptrdiff_t(n) - 1, t);
   return *this;
 }
 
@@ -293,7 +293,7 @@ void tmArray<T>::rotate_left()
 {
   if (this->empty()) return;
   T t = this->front();
-  erase(this->begin());
+  this->erase(this->begin());
   this->push_back(t);
 }
 
@@ -306,7 +306,7 @@ void tmArray<T>::rotate_right()
 {
   if (this->empty()) return;
   T t = this->back();
-  erase(this->rbegin());
+  this->erase(this->rbegin());
   this->push_front(t);
 }
 
@@ -331,7 +331,7 @@ Append all elements of another list
 template <class T>
 void tmArray<T>::merge_with(const tmArray<T>& aList)
 {
-  insert(this->end(), aList.begin(), aList.end());
+  this->insert(this->end(), aList.begin(), aList.end());
 }
 
 
diff --git a/Source/tmModel/tmPtrClasses/tmDpptrArray.h b/Source/tmModel/tmPtrClasses/tmDpptrArray.h
index c30ca8e..f01b8db 100644
--- a/Source/tmModel/tmPtrClasses/tmDpptrArray.h
+++ b/Source/tmModel/tmPtrClasses/tmDpptrArray.h
@@ -240,7 +240,7 @@ referencing it
 template <class T>
 void tmDpptrArray<T>::union_with(T* pt)
 {
-  if (!contains(pt)) push_back(pt);
+  if (!this->contains(pt)) push_back(pt);
 }
 
 
@@ -250,7 +250,7 @@ Remove all copies of this item from the list.
 template <class T>
 void tmDpptrArray<T>::erase_remove(T* pt)
 {
-  if (contains(pt)) {
+  if (this->contains(pt)) {
     tmArray<T*>::erase_remove(pt);
     DstRemoveMeAsDpptrSrc(pt);
   };
openSUSE Build Service is sponsored by