mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-16 01:08:56 +00:00
HPL1: fix const correctness in dgTree
This commit is contained in:
parent
99f161cdcd
commit
71607c5efb
@ -22,26 +22,26 @@
|
||||
#include "dgStdafx.h"
|
||||
#include "dgTree.h"
|
||||
|
||||
dgRedBackNode *dgRedBackNode::Minimum() const {
|
||||
dgRedBackNode *ptr = (dgRedBackNode *) this;
|
||||
const dgRedBackNode *dgRedBackNode::Minimum() const {
|
||||
const dgRedBackNode *ptr = this;
|
||||
for (; ptr->m_left; ptr = ptr->m_left) {
|
||||
}
|
||||
return ptr;
|
||||
}
|
||||
|
||||
dgRedBackNode *dgRedBackNode::Maximum() const {
|
||||
dgRedBackNode *ptr = (dgRedBackNode *) this;
|
||||
const dgRedBackNode *dgRedBackNode::Maximum() const {
|
||||
const dgRedBackNode *ptr = this;
|
||||
for (; ptr->m_right; ptr = ptr->m_right) {
|
||||
}
|
||||
return ptr;
|
||||
}
|
||||
|
||||
dgRedBackNode *dgRedBackNode::Prev() const {
|
||||
const dgRedBackNode *dgRedBackNode::Prev() const {
|
||||
if (m_left) {
|
||||
return m_left->Maximum();
|
||||
}
|
||||
|
||||
dgRedBackNode *node = (dgRedBackNode *) this;
|
||||
const dgRedBackNode *node = this;
|
||||
dgRedBackNode *ptr = m_parent;
|
||||
for (; ptr && node == ptr->m_left; ptr = ptr->m_parent) {
|
||||
node = ptr;
|
||||
@ -50,13 +50,55 @@ dgRedBackNode *dgRedBackNode::Prev() const {
|
||||
|
||||
}
|
||||
|
||||
dgRedBackNode *dgRedBackNode::Next() const {
|
||||
const dgRedBackNode *dgRedBackNode::Next() const {
|
||||
|
||||
if (m_right) {
|
||||
return m_right->Minimum();
|
||||
}
|
||||
|
||||
dgRedBackNode *node = (dgRedBackNode *) this;
|
||||
const dgRedBackNode *node = this;
|
||||
dgRedBackNode *ptr = m_parent;
|
||||
for (; ptr && node == ptr->m_right; ptr = ptr->m_parent) {
|
||||
node = ptr;
|
||||
}
|
||||
return ptr;
|
||||
}
|
||||
|
||||
dgRedBackNode *dgRedBackNode::Minimum() {
|
||||
dgRedBackNode *ptr = this;
|
||||
for (; ptr->m_left; ptr = ptr->m_left) {
|
||||
}
|
||||
return ptr;
|
||||
}
|
||||
|
||||
dgRedBackNode *dgRedBackNode::Maximum() {
|
||||
dgRedBackNode *ptr = this;
|
||||
for (; ptr->m_right; ptr = ptr->m_right) {
|
||||
}
|
||||
return ptr;
|
||||
}
|
||||
|
||||
dgRedBackNode *dgRedBackNode::Prev() {
|
||||
if (m_left) {
|
||||
return m_left->Maximum();
|
||||
}
|
||||
|
||||
dgRedBackNode *node = this;
|
||||
dgRedBackNode *ptr = m_parent;
|
||||
for (; ptr && node == ptr->m_left; ptr = ptr->m_parent) {
|
||||
node = ptr;
|
||||
}
|
||||
return ptr;
|
||||
|
||||
}
|
||||
|
||||
dgRedBackNode *dgRedBackNode::Next() {
|
||||
|
||||
if (m_right) {
|
||||
return m_right->Minimum();
|
||||
}
|
||||
|
||||
dgRedBackNode *node = this;
|
||||
dgRedBackNode *ptr = m_parent;
|
||||
for (; ptr && node == ptr->m_right; ptr = ptr->m_parent) {
|
||||
node = ptr;
|
||||
|
@ -64,10 +64,14 @@ public:
|
||||
inline void SetInTreeFlag(dgUnsigned32 flag);
|
||||
|
||||
void RemoveAll();
|
||||
dgRedBackNode *Prev() const;
|
||||
dgRedBackNode *Next() const;
|
||||
dgRedBackNode *Minimum() const;
|
||||
dgRedBackNode *Maximum() const;
|
||||
const dgRedBackNode *Prev() const;
|
||||
const dgRedBackNode *Next() const;
|
||||
const dgRedBackNode *Minimum() const;
|
||||
const dgRedBackNode *Maximum() const;
|
||||
dgRedBackNode *Prev();
|
||||
dgRedBackNode *Next();
|
||||
dgRedBackNode *Minimum();
|
||||
dgRedBackNode *Maximum();
|
||||
void Remove(dgRedBackNode **const head);
|
||||
void Unlink(dgRedBackNode **const head);
|
||||
void InsertFixup(dgRedBackNode **const head);
|
||||
|
Loading…
x
Reference in New Issue
Block a user