From 278b42d078f68899abc68ff5845697584fd7d3d8 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Tue, 31 Oct 2023 20:14:03 +0000 Subject: [PATCH] Codechange: Document Industry::GetCargoProduced/Accepted and add const-variant. --- src/industry.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/industry.h b/src/industry.h index 912709c86f..bc6f79bb23 100644 --- a/src/industry.h +++ b/src/industry.h @@ -138,12 +138,33 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> { return IsTileType(tile, MP_INDUSTRY) && GetIndustryIndex(tile) == this->index; } + /** + * Get produced cargo slot for a specific cargo type. + * @param cargo CargoID to find. + * @return Iterator pointing to produced cargo slot if it exists, or the end iterator. + */ inline ProducedCargoArray::iterator GetCargoProduced(CargoID cargo) { if (!IsValidCargoID(cargo)) return std::end(this->produced); return std::find_if(std::begin(this->produced), std::end(this->produced), [&cargo](const auto &p) { return p.cargo == cargo; }); } + /** + * Get produced cargo slot for a specific cargo type (const-variant). + * @param cargo CargoID to find. + * @return Iterator pointing to produced cargo slot if it exists, or the end iterator. + */ + inline ProducedCargoArray::const_iterator GetCargoProduced(CargoID cargo) const + { + if (!IsValidCargoID(cargo)) return std::end(this->produced); + return std::find_if(std::begin(this->produced), std::end(this->produced), [&cargo](const auto &p) { return p.cargo == cargo; }); + } + + /** + * Get accepted cargo slot for a specific cargo type. + * @param cargo CargoID to find. + * @return Iterator pointing to accepted cargo slot if it exists, or the end iterator. + */ inline AcceptedCargoArray::iterator GetCargoAccepted(CargoID cargo) { if (!IsValidCargoID(cargo)) return std::end(this->accepted);