/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
map/booking_filter.hpp
56 строк
1 KB
Arsentiy Milchakov
[booking] processing for unavailable and visited hotels.
28 июл 2020, 18:10
28 июл 2020, 18:10
365fa2f
Код
Авторство
О чём код?
#pragma once #include "map/booking_filter_params.hpp" #include "base/macros.hpp" #include <memory> struct FeatureID; class DataSource; namespace search { class Results; } namespace booking { class Api; namespace filter { class FilterBase { public: class Delegate { public: virtual ~Delegate() = default; virtual DataSource const & GetDataSource() const = 0; virtual Api const & GetApi() const = 0; }; explicit FilterBase(Delegate const & d) : m_delegate(d) {} virtual ~FilterBase() = default; virtual void ApplyFilter(search::Results const & results, ParamsInternal const & filterParams) = 0; virtual void ApplyFilter(std::vector<FeatureID> const & featureIds, ParamsRawInternal const & params) = 0; virtual void GetFeaturesFromCache(search::Results const & results, std::vector<FeatureID> & sortedResults, std::vector<Extras> & extras, std::vector<FeatureID> & filteredOut) = 0; virtual void UpdateParams(ParamsBase const & apiParams) = 0; Delegate const & GetDelegate() const { return m_delegate; } private: Delegate const & m_delegate; }; using FilterPtr = std::unique_ptr<FilterBase>; } // namespace filter } // namespace booking