void Geolocation::extractNotifiersWithCachedPosition(GeoNotifierVector& notifiers, GeoNotifierVector* cached) { GeoNotifierVector nonCached; for (auto& notifier : notifiers) { if (notifier->useCachedPosition()) { if (cached) cached->append(notifier.get()); } else nonCached.append(notifier.get()); } notifiers.swap(nonCached); }
void Geolocation::extractNotifiersWithCachedPosition(GeoNotifierVector& notifiers, GeoNotifierVector* cached) { GeoNotifierVector nonCached; GeoNotifierVector::iterator end = notifiers.end(); for (GeoNotifierVector::const_iterator it = notifiers.begin(); it != end; ++it) { GeoNotifier* notifier = it->get(); if (notifier->useCachedPosition()) { if (cached) cached->append(notifier); } else nonCached.append(notifier); } notifiers.swap(nonCached); }