mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-01 05:26:45 +08:00
refs #290 using a CRange of iterator adaptors in implementating the tertiary predicate-based methods of the derived containers,
but preserving the return-by-copy for API stability
This commit is contained in:
@@ -25,26 +25,25 @@ namespace BlackMisc
|
||||
CSequence<CAircraftMapping>(other)
|
||||
{ }
|
||||
|
||||
CAircraftMappingList CAircraftMappingList::findByIcaoCode(const CAircraftIcao &searchIcao, bool emptyMeansWildcard) const
|
||||
CAircraftMappingList CAircraftMappingList::findByIcaoCodeWildcard(const CAircraftIcao &searchIcao) const
|
||||
{
|
||||
if (!emptyMeansWildcard) return this->findBy(&CAircraftMapping::getIcao, searchIcao);
|
||||
|
||||
CAircraftMappingList result;
|
||||
for (auto it = this->begin() ; it != this->end(); ++it)
|
||||
return this->findBy([ = ](const CAircraftMapping &mapping)
|
||||
{
|
||||
if (it->getIcao().matchesWildcardIcao(searchIcao)) result.push_back(*it);
|
||||
}
|
||||
return result;
|
||||
return mapping.matchesWildcardIcao(searchIcao);
|
||||
});
|
||||
}
|
||||
|
||||
CAircraftMappingList CAircraftMappingList::findByIcaoCodeExact(const CAircraftIcao &searchIcao) const
|
||||
{
|
||||
return this->findBy(&CAircraftMapping::getIcao, searchIcao);
|
||||
}
|
||||
|
||||
CAircraftMappingList CAircraftMappingList::findByModelString(const QString modelString, Qt::CaseSensitivity sensitivity) const
|
||||
{
|
||||
CAircraftMappingList result;
|
||||
for (auto it = this->begin() ; it != this->end(); ++it)
|
||||
return this->findBy([ = ](const CAircraftMapping &mapping)
|
||||
{
|
||||
if (it->matchesModelString(modelString, sensitivity)) result.push_back(*it);
|
||||
}
|
||||
return result;
|
||||
return mapping.matchesModelString(modelString, sensitivity);
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user