#pragma once #include "track_analyzing/track.hpp" #include "routing_common/num_mwm_id.hpp" #include "geometry/tree4d.hpp" #include #include namespace track_analyzing { class LogParser final { public: LogParser(std::shared_ptr numMwmIds, std::unique_ptr> mwmTree, std::string const & dataDir); void Parse(std::string const & logFile, MwmToTracks & mwmToTracks) const; private: void ParseUserTracks(std::string const & logFile, UserToTrack & userToTrack) const; void SplitIntoMwms(UserToTrack const & userToTrack, MwmToTracks & mwmToTracks) const; std::shared_ptr m_numMwmIds; std::shared_ptr> m_mwmTree; std::string const m_dataDir; }; } // namespace track_analyzing