From 38ffc4f577d795923bb0d7bc7eb751ae5080deff Mon Sep 17 00:00:00 2001 From: Breno Guimaraes Date: Sat, 18 Apr 2020 03:34:39 -0300 Subject: [PATCH] Use a pointer instead of reference as a member. This allows the assignment operator for the iterator to be generated automatically by the compiler. --- src/openrct2/ride/Ride.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/openrct2/ride/Ride.h b/src/openrct2/ride/Ride.h index 132cd4e6c0..a66cc74e83 100644 --- a/src/openrct2/ride/Ride.h +++ b/src/openrct2/ride/Ride.h @@ -980,7 +980,7 @@ struct RideManager friend RideManager; private: - RideManager& _rideManager; + RideManager* _rideManager; size_t _index{}; size_t _endIndex{}; @@ -993,11 +993,11 @@ struct RideManager private: Iterator(RideManager& rideManager, size_t beginIndex, size_t endIndex) - : _rideManager(rideManager) + : _rideManager(&rideManager) , _index(beginIndex) , _endIndex(endIndex) { - if (_index < _endIndex && _rideManager[static_cast(_index)] == nullptr) + if (_index < _endIndex && (*_rideManager)[static_cast(_index)] == nullptr) { ++(*this); } @@ -1009,7 +1009,7 @@ struct RideManager do { _index++; - } while (_index < _endIndex && _rideManager[static_cast(_index)] == nullptr); + } while (_index < _endIndex && (*_rideManager)[static_cast(_index)] == nullptr); return *this; } Iterator operator++(int) @@ -1028,7 +1028,7 @@ struct RideManager } Ride& operator*() { - return *_rideManager[static_cast(_index)]; + return *(*_rideManager)[static_cast(_index)]; } };