Files
comaps/routing/restriction_loader.hpp
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

40 lines
1.1 KiB
C++

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