#pragma once #include "routing/index_graph.hpp" #include "routing/restrictions_serialization.hpp" #include "coding/file_container.hpp" #include #include class MwmValue; namespace routing { class RestrictionLoader { public: explicit RestrictionLoader(MwmValue const & mwmValue, IndexGraph & graph); bool HasRestrictions() const; RestrictionVec && StealRestrictions(); std::vector && StealNoUTurnRestrictions(); private: std::unique_ptr m_reader; RestrictionHeader m_header; RestrictionVec m_restrictions; std::vector m_noUTurnRestrictions; std::string const m_countryFileName; }; void ConvertRestrictionsOnlyToNo(IndexGraph const & graph, RestrictionVec const & restrictionsOnly, RestrictionVec & restrictionsNo); void ConvertRestrictionsOnlyUTurnToNo(IndexGraph & graph, std::vector const & restrictionsOnlyUTurn, RestrictionVec & restrictionsNo); } // namespace routing