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:
Mathew Sutcliffe
2014-07-04 23:32:38 +01:00
parent 98a6854f8c
commit a4b317b100
17 changed files with 71 additions and 102 deletions

View File

@@ -62,13 +62,7 @@ namespace BlackCore
CUserList CVatsimDataFileReader::getPilotsForCallsigns(const CCallsignList &callsigns)
{
CUserList users;
if (callsigns.isEmpty()) return users;
foreach(CCallsign callsign, callsigns)
{
users.push_back(this->getAircrafts().findByCallsign(callsign).getPilots());
}
return users;
return this->m_aircrafts.findByCallsigns(callsigns).transform(Predicates::MemberTransform(&CAircraft::getPilot));
}
CUserList CVatsimDataFileReader::getPilotsForCallsign(const CCallsign &callsign)
@@ -100,13 +94,7 @@ namespace BlackCore
CUserList CVatsimDataFileReader::getControllersForCallsigns(const CCallsignList &callsigns)
{
CUserList users;
if (callsigns.isEmpty()) return users;
foreach(CCallsign callsign, callsigns)
{
users.push_back(this->getAtcStations().findByCallsign(callsign).getControllers());
}
return users;
return this->m_atcStations.findByCallsigns(callsigns).transform(Predicates::MemberTransform(&CAtcStation::getController));
}
CUserList CVatsimDataFileReader::getUsersForCallsigns(const CCallsignList &callsigns)