Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15-SP6
TreeMaker
Use-explicit-this-for-dependent-base-members.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
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); };
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor