/
renath
/
organicmaps
Обзор
Документация
Войти
/
renath
/
organicmaps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
libs/coding/mmap_reader.hpp
43 строки
919 B
Alexander Borsuk
New cpp folder structure
20 июл 2025, 22:25
20 июл 2025, 22:25
cb0af64
Код
Авторство
О чём код?
#pragma once #include "coding/reader.hpp" #include <cstddef> #include <cstdint> #include <memory> #include <string> /// @TODO Add Windows support class MmapReader : public ModelReader { public: enum class Advice { Normal, Random, Sequential }; explicit MmapReader(std::string const & fileName, Advice advice = Advice::Normal); uint64_t Size() const override; void Read(uint64_t pos, void * p, size_t size) const override; std::unique_ptr<Reader> CreateSubReader(uint64_t pos, uint64_t size) const override; /// Direct file/memory access uint8_t * Data() const; protected: // Used in special derived readers. void SetOffsetAndSize(uint64_t offset, uint64_t size); private: using base_type = ModelReader; class MmapData; MmapReader(MmapReader const & reader, uint64_t offset, uint64_t size); std::shared_ptr<MmapData> m_data; uint64_t m_offset; uint64_t m_size; };