| 278 | |
| 279 | template <typename Value> |
| 280 | Retrieval::ExtendedFeatures RetrievePostcodeFeaturesImpl(Retrieval::TrieRoot<Value> const & root, |
| 281 | MwmContext const & context, |
| 282 | base::Cancellable const & cancellable, |
| 283 | TokenSlice const & slice) |
| 284 | { |
| 285 | EditedFeaturesHolder holder(context.GetId()); |
| 286 | vector<uint64_t> features; |
| 287 | vector<uint64_t> exactlyMatchedFeatures; |
| 288 | FeaturesCollector collector(cancellable, features, exactlyMatchedFeatures); |
| 289 | |
| 290 | MatchPostcodesInTrie(slice, root, [&holder](Value const & value) |
| 291 | { return !holder.ModifiedOrDeleted(base::asserted_cast<uint32_t>(value.m_featureId)); } /* filter */, collector); |
| 292 | |
| 293 | holder.ForEachModifiedOrCreated([&](EditableMapObject const & emo, uint64_t index) |
| 294 | { |
| 295 | if (MatchFeatureByPostcode(emo, slice)) |
| 296 | features.push_back(index); |
| 297 | }); |
| 298 | |
| 299 | return SortFeaturesAndBuildResult(std::move(features)); |
| 300 | } |
| 301 | |
| 302 | Retrieval::ExtendedFeatures RetrieveGeometryFeaturesImpl(MwmContext const & context, |
| 303 | base::Cancellable const & cancellable, m2::RectD const & rect, |
nothing calls this directly
no test coverage detected