#pragma once #include "local_ads/event.hpp" #include "coding/file_reader.hpp" #include "coding/file_writer.hpp" #include #include #include namespace local_ads { void WriteCountryName(FileWriter & writer, std::string const & countryName); void WriteZigZag(FileWriter & writer, int64_t duration); template void WriteTimestamp(FileWriter & writer, Timestamp ts) { int64_t const d = std::chrono::duration_cast(ts.time_since_epoch()).count(); WriteZigZag(writer, d); } void WriteRawData(FileWriter & writer, std::vector const & rawData); std::string ReadCountryName(ReaderSource & src); int64_t ReadZigZag(ReaderSource & src); template Timestamp ReadTimestamp(ReaderSource & src) { int64_t const d = ReadZigZag(src); return Timestamp(Duration(d)); } std::vector ReadRawData(ReaderSource & src); } // namespace local_ads