Codechange: Make TileIndex a "strong" typedef to give it a distinct type.

This is accomplished by changing it to a single member struct with the
appropriate operator overloads to make it all work with not too much
source modifications.
This commit is contained in:
Michael Lutz
2021-11-06 23:11:22 +01:00
parent 4fc055d6e9
commit b0990fcff7
23 changed files with 160 additions and 33 deletions

View File

@@ -147,6 +147,36 @@ public:
* Allocate a new iterator that is a copy of this one.
*/
virtual TileIterator *Clone() const = 0;
/**
* Equality comparison.
*/
bool operator ==(const TileIterator &rhs) const
{
return this->tile == rhs.tile;
}
/**
* Inequality comparison.
*/
bool operator !=(const TileIterator &rhs) const
{
return this->tile != rhs.tile;
}
/**
* Equality comparison.
*/
bool operator ==(const TileIndex &rhs) const
{
return this->tile == rhs;
}
/**
* Inequality comparison.
*/
bool operator !=(const TileIndex &rhs) const
{
return this->tile != rhs;
}
};
/** Iterator to iterate over a tile area (rectangle) of the map. */