Codechange: use smart pointers when cloning iterators

This commit is contained in:
Rubidium
2023-01-13 17:54:53 +01:00
committed by rubidium42
parent f667a831a5
commit b35c791d05
5 changed files with 12 additions and 13 deletions

View File

@@ -146,7 +146,7 @@ public:
/**
* Allocate a new iterator that is a copy of this one.
*/
virtual TileIterator *Clone() const = 0;
virtual std::unique_ptr<TileIterator> Clone() const = 0;
/**
* Equality comparison.
@@ -225,9 +225,9 @@ public:
return *this;
}
virtual TileIterator *Clone() const
virtual std::unique_ptr<TileIterator> Clone() const
{
return new OrthogonalTileIterator(*this);
return std::make_unique<OrthogonalTileIterator>(*this);
}
};
@@ -264,9 +264,9 @@ public:
TileIterator& operator ++();
virtual TileIterator *Clone() const
virtual std::unique_ptr<TileIterator> Clone() const
{
return new DiagonalTileIterator(*this);
return std::make_unique<DiagonalTileIterator>(*this);
}
};