Files
comaps/coding/buffered_file_writer.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

31 lines
659 B
C++

#pragma once
#include "coding/file_writer.hpp"
#include <cstdint>
#include <string>
#include <vector>
class BufferedFileWriter : public FileWriter
{
public:
explicit BufferedFileWriter(std::string const & fileName, Op operation = OP_WRITE_TRUNCATE,
size_t bufferSize = 4096);
~BufferedFileWriter() noexcept(false) override;
// Writer overrides:
void Seek(uint64_t pos) override;
uint64_t Pos() const override;
void Write(void const * p, size_t size) override;
// FileWriter overrides:
uint64_t Size() const override;
void Flush() override;
private:
void DropBuffer();
std::vector<uint8_t> m_buf;
};