diff --git a/search/result.hpp b/search/result.hpp index ba5ca7b82c..697e810c19 100644 --- a/search/result.hpp +++ b/search/result.hpp @@ -67,7 +67,18 @@ public: inline IterT Begin() const { return m_vec.begin(); } inline IterT End() const { return m_vec.end(); } - inline size_t Count() const { return m_vec.size(); } + inline size_t GetCount() const { return m_vec.size(); } + + inline Result const & GetResult(size_t i) const + { + ASSERT_LESS(i, m_vec.size(), ()); + return m_vec[i]; + } + + inline void Swap(Results & rhs) + { + m_vec.swap(rhs.m_vec); + } }; } diff --git a/search/search_engine.cpp b/search/search_engine.cpp index 3ae380792a..b793810754 100644 --- a/search/search_engine.cpp +++ b/search/search_engine.cpp @@ -235,7 +235,7 @@ void Engine::SearchAsync() res.Clear(); m_pQuery->SearchAllInViewport(GetViewportRect(params.m_lat, params.m_lon, arrR[i]), res, 3*RESULTS_COUNT); - if (m_pQuery->IsCanceled() || res.Count() >= 2*RESULTS_COUNT) + if (m_pQuery->IsCanceled() || res.GetCount() >= 2*RESULTS_COUNT) break; } } @@ -251,7 +251,7 @@ void Engine::SearchAsync() params.m_callback(res); // Make additional search in whole mwm when not enough results. - if (!m_pQuery->IsCanceled() && res.Count() < RESULTS_COUNT) + if (!m_pQuery->IsCanceled() && res.GetCount() < RESULTS_COUNT) { try {